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 查看操作命令历史记录,以便确定要回到未来的哪个版本

你可能感兴趣的:(版本控制管理)