历史版本操作
- 2021-10-09 23:53:23
- admin
- 1464
- 最后编辑:admin 于 2021-10-10 00:06:58
查看历史版本
当我们用 commit 命令提交过版本之后,便可以使用 git log 命令查看所有的历史提交(commit)信息。
$ git log
如上图所示:在每个版本的信息中,Git给每个版本都分配了一个独一无二的哈希值长字符串,用于区分版本(通常使用时,只需取其前五位即可)。
生成变更日志
一些项目要求生成变更日志。若要生成一个变更日志,通过输出重定向实现:
$ git log > ChangeLog
穿梭回历史版本
当你修改东西时发现自己改乱了,自己都理不清了,想返回到 上一次提交的版本,则可以使用 reset 命令。
git reset --hard
注意:
如果你之前提交过多个版本,你也可以使用 reset 命令返回到过去指定的某一个版本(用哈希值指定版本):
$ git reset --hard 3715
但是, 此命令会 从记录里永久抹掉该指定版本之后提交的所有版本。
比如你之前提交过1、2、3、4、5 五个版本,当你用 reset 命令返回到第3号版本时,后面的 4和5 两个版本就被抹掉(不存在)了。
那么问题来了,我想回到之前某个版本,但其后的版本又不想删除,该怎么操作呢?这时就用到了另一个命令:checkout 。
$ git checkout 3715
checkout 操作将把你带回过去,同时也保留其他版本。
然而正因如此,你也要清楚,你是无法改变历史的。所以,当你返回过去某个版本之后,想再继续提交一个新版本时,不会覆盖其后原有的版本,而会新开一个分支(分支相关内容我们后面讲解)。
同时,我们应该在每次运行 checkout 之前提交(commit)或重置(reset)你的改动。
注意:任何时候你觉得对运行某个命 令不放心,无论是不是Git命令,就先运行一下
git commit -a 。
总结
使用 git log 命令查看提交的历史版本记录。
使用 git reset --hard 命令回溯到某个指定历史版本,并清除其后的版本。
使用 git checkout 命令回溯到某个指定历史版本,同时并不影响其他版本,其后再新建版本则会新建一个分支。