Git-----Git中版本回退
Posted gao_chun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git-----Git中版本回退相关的知识,希望对你有一定的参考价值。
转载请注明gao_chun的Blog:http://blog.csdn.net/gao_chun/article/details/72314101
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-----Git中版本回退的主要内容,如果未能解决你的问题,请参考以下文章