查看修改历史记录

$ git log

commit fba77877d316436c1b774b8933380ebcac668040
Author: keith <ustbfxx@163.com>
Date: Fri Jan 16 01:34:06 2015 +0800 add a git instance commit 148ff70cb26b4805609ada5f95436e002490adb9
Author: keith <ustbfxx@163.com>
Date: Wed Jan 14 04:14:20 2015 +0800 add good study commit 69a629d7ec0e0c9f582fb26bb50e5974b18c55a3
Author: keith <ustbfxx@163.com>
Date: Tue Jan 13 22:51:10 2015 +0800 create readme.txt file

如果我们嫌输出信息太多,可以加上--pretty=oneline

 $ git log --pretty=oneline
fba77877d316436c1b774b8933380ebcac668040 add a git instance
148ff70cb26b4805609ada5f95436e002490adb9 add good study
69a629d7ec0e0c9f582fb26bb50e5974b18c55a3 create readme.txt file

这里fba77877..8040commit id版本号,是通过SHA1计算出来的一个非常大的数字

回退到上一个版本

 $ git reset --hard HEAD^
HEAD is now at 148ff70 add good study
$ cat readme.txt
good git
git is a file version control system
good good study

可以看出已经回到上一个版本,那如何在返回原来的版本呢

 $ git reset --hard fba77877
HEAD is now at fba7787 add a git instance
$ cat readme.txt
good git
git is a file version control system
good good study
Git git=new Git();

这里的commit id不需要输入全部,不过也不能太少,不然git会无法确定是那一个,HEAD指向commit id直接会返回到这个版本号。这些版本号git都是有记录的,我们通过git reflog来查找输入的命令,可以指向我们要返回的commit id

$ git reflog
fba7787 HEAD@{0}: reset: moving to fba77877
148ff70 HEAD@{1}: reset: moving to HEAD^
fba7787 HEAD@{2}: commit: add a git instance
148ff70 HEAD@{3}: commit: add good study
69a629d HEAD@{4}: commit (initial): create readme.txt file

总结命令

$ git log --pretty=online//查看提交的次数和commit id
$ git reset --hard HEAD^ //回到上一个版本
$ git reset --hard commit_id //返回某一个commit_id 的版本
$ git reflog //查看提交的命令

正确的步骤是 修改完后 使用 git add命令,再提交,如果重新修改后没有使用add命令,提交之后新修改的是不会提交的。

git 学习(2)--恢复版本的更多相关文章

  1. git学习2:版本库

    创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...

  2. Git 学习之关于版本库

    记得在第一次接触代码的时候,当对一些改动不是很确定的时候,我的做法就是在我的电脑上保留多个文件,分别以不同的名字来保存,以便于以后发现某个地方的带动是错误的好做修改,现在想想真是好笑啊. 慢慢的在工作 ...

  3. git学习之创建版本库(三)

    创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...

  4. git学习之创建版本库

    创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...

  5. git取消更改 恢复版本命令

      #删除远程的xxx分支 git push origin :xxx #取消对文件的修改.还原到最近的版本,废弃本地做的修改. git checkout -- <file>   #取消已经 ...

  6. Git学习一:基本用法

    git config:配置相关信息 git clone:复制仓库 git init:初始化仓库 git add:添加更新内容到索引中 git diff:比较内容 git status:获取当前项目状况 ...

  7. Git学习之路(4)- 撤销操作、删除文件和恢复文件

    ▓▓▓▓▓▓ 大致介绍 经过前面的学习(小白学Git)已经建立了版本库,并上传了文件,这次来学习对这些文件进行基本的操作,即: ◆ 撤销操作 ◆ 删除文件 ◆ 恢复文件 我在此之前,已经将三个文件提交 ...

  8. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

  9. git 学习(3)文件删除恢复

    git学习(3) 撤销编辑 如果我们在编辑版本a的时候,如果在没有add之前,发现需要重新编辑版本a怎么办呢,可以通过git reset --hard comm_id, commit_id是版本a的提 ...

随机推荐

  1. sim900GPRS模块ppp拨号上网

    --------------------------------------------- 主机操作系统:Centos 6.5 交叉编译器环境:arm-linux-gcc-4.5.4 开发板平台: F ...

  2. makefile之wildcard函数

    $(wildcard PATTERN) 函数功能: 获取匹配 PATTERN 的所有对象 返回值: 使用空格分割的匹配对象列表 1. 示例1

  3. FreeRTOS 调试方法(printf---打印任务执行情况)

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家介绍 FreeRTOS 的调试方法,这里的调试方法主要是教会大家如何获取任务的执行情况,通过获取 ...

  4. 初识STM32固件库

    因为基于 Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的 Cortex 微控制器软件 的 ...

  5. 跟着百度学PHP[9]-session与cookie的异同

    COOKIE cookie是将数据存储在客户端中,以此建立客户端与服务器之间的联系,但是cookie任然有一些局限性: 1.cookie相对不是很安全,容易被盗用导致cookie欺骗. 2.单个的co ...

  6. centos7系统nginx下phalcon环境搭建

    之前我们采用的是Apache服务器,可是每秒响应只能达到2000,听说nginx可以轻易破万, 于是换成nginx试试. phalcon的官网有nginx重写规则的示例,可是却与apache的不一致, ...

  7. CSS——div居中,window.open(0

    margin:0 auto 表示什么意思?? margin后面如果只有两个参数的话,第一个表示top和bottom,第二个表示left和right因为0 auto,表示上下边界为0,左右则根据宽度自适 ...

  8. m4--宏处理器

    m4 是 POSIX 标准中的一部分,所有版本的 UNIX 下都可用.虽然这种语言可以单独使用,但大多数人需要 m4 仅仅是因为 GNU autoconf 中的 “configure” 脚本依赖它.宏 ...

  9. Nginx配置proxy_pass转发的/路径

    请求原地址 :http://servername/static_js/test.html location ^~ /static_js/ { proxy_cache js_cache; proxy_s ...

  10. python3制作捧腹网段子页爬虫

    0x01 春节闲着没事(是有多闲),就写了个简单的程序,来爬点笑话看,顺带记录下写程序的过程.第一次接触爬虫是看了这么一个帖子,一个逗逼,爬取煎蛋网上妹子的照片,简直不要太方便.于是乎就自己照猫画虎, ...