Git-----Git中版本回退
2017-05-16 17:28
232 查看
转载请注明gao_chun的Blog:http://blog.csdn.net/gao_chun/article/details/72314101
在实际工作中,我们项目中的文件进行了N次修改和提交,我们也不可能记得每次文件中修改了什么内容,提交了什么东西,当时写了什么注释,等等。当我们想看这些东西时,在Git中我们可以使用 git log 命令查看日志,显示的规则是从近到远,如果嫌输出的信息太多,可以加上 –pretty=oneline 参数进行过滤,即:git log –pretty=oneline
提示:我们看到的一大串类似 dc4356…c2c 的是commit id(版本号id),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示。
为什么commit id需要用这么一大串数字表示呢?
因为Git是分布式的版本控制系统,如果大家都用1,2,3……作为版本号,那后面多人在同一个版本库里工作,就会出现冲突了。
Git在进行版本回退前必须知道回退那个版本,用 HEAD 表示当前版本,也就是最近一次提交时对应的commit id,上一个版本用 HEAD^ 表示,上上个版本就是 HEAD^^ ,往上100个版本写100个^就有点尴尬了,所以可以写成 HEAD~100。例如如果需要将当前版本回退到上一个版本,那我们可以使用 git reset –hard HEAD^ 命令。
注:回退到上个版本后之前的版本已经看不到了,此时如果反悔了怎么办呢?
只要上面的命令行窗口还没有被关掉,可以顺着往上找到当时版本的 commit id ,然后使用命令: git reset –hard dc4356ac 命令就可以了,这里需要注意的是 commit id 可以写全,也可以写前面几个,Git会自动去找,但是不能只写前面一两个,版本多了之后,就找不到了。
如果上面的窗口关掉了怎么办,Git会记录你在当前版本库中操作的所有命令,使用 git reflog 就可以查看到。这样就可以看到之前所有操作执行的记录,然后找到对应的 commit id 进行版本回退定位了。
版本回退前,可以使用 git log 查看提交信息历史记录,以便于确定要回退到哪一个版本
用 git reflog 查看操作命令历史记录,以便确定要回到未来的哪个版本
Git中版本回退
一、命令:git log (–pretty=oneline参数)
> 作用:查看提交的日志信息在实际工作中,我们项目中的文件进行了N次修改和提交,我们也不可能记得每次文件中修改了什么内容,提交了什么东西,当时写了什么注释,等等。当我们想看这些东西时,在Git中我们可以使用 git log 命令查看日志,显示的规则是从近到远,如果嫌输出的信息太多,可以加上 –pretty=oneline 参数进行过滤,即:git log –pretty=oneline
提示:我们看到的一大串类似 dc4356…c2c 的是commit id(版本号id),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示。
为什么commit id需要用这么一大串数字表示呢?
因为Git是分布式的版本控制系统,如果大家都用1,2,3……作为版本号,那后面多人在同一个版本库里工作,就会出现冲突了。
二、命令:git reset (git reset –hard HEAD^)
> 作用:版本回退Git在进行版本回退前必须知道回退那个版本,用 HEAD 表示当前版本,也就是最近一次提交时对应的commit id,上一个版本用 HEAD^ 表示,上上个版本就是 HEAD^^ ,往上100个版本写100个^就有点尴尬了,所以可以写成 HEAD~100。例如如果需要将当前版本回退到上一个版本,那我们可以使用 git reset –hard HEAD^ 命令。
注:回退到上个版本后之前的版本已经看不到了,此时如果反悔了怎么办呢?
只要上面的命令行窗口还没有被关掉,可以顺着往上找到当时版本的 commit id ,然后使用命令: git reset –hard dc4356ac 命令就可以了,这里需要注意的是 commit id 可以写全,也可以写前面几个,Git会自动去找,但是不能只写前面一两个,版本多了之后,就找不到了。
三、命令:git reflog
> 作用:查看操作记录如果上面的窗口关掉了怎么办,Git会记录你在当前版本库中操作的所有命令,使用 git reflog 就可以查看到。这样就可以看到之前所有操作执行的记录,然后找到对应的 commit id 进行版本回退定位了。
总结
HEAD指向的版本是当前版本,Git允许我们在版本历史之间来回切换,使用命令 git reset –hard commit_id版本回退前,可以使用 git log 查看提交信息历史记录,以便于确定要回退到哪一个版本
用 git reflog 查看操作命令历史记录,以便确定要回到未来的哪个版本
相关文章推荐
- [Git高级教程 (一)] 通过Tag标签回退版本修复bug
- git 回退版本
- git reset --hard 之 git版本回退
- Git 自学笔记 egit (版本回退)
- [Git高级教程(二)] 远程仓库版本回退方法
- git 版本回退总结
- git 版本回退
- git回退版本笔记
- git教程--版本回退
- Git-02_版本回退
- Git 版本回退
- 2016/01/12开始学习git:版本如何回退
- Git 通过Tag标签回退版本修复bug
- intellij idea2017中git远程版本回退
- Git入门(4)-版本回退
- Git远程仓库版本的回退
- Git常用命令和场景(二)--线上版本回退
- idea下git版本回退
- Git5.Git查看提交历史&版本回退
- Git安装、创建版本库、版本回退