历史版本操作

2020-08-24 16:40:20
git
1677
最后编辑:GavinHsueh 于 2020-09-10 15:58:41

查看历史版本

当我们用 commit 命令提交过版本之后,便可以使用 git log 命令查看所有的历史提交(commit)信息。


$ git log

如上图所示:在每个版本的信息中,Git给每个版本都分配了一个独一无二的哈希值长字符串,用于区分版本(通常使用时,只需取其前五位即可)。

穿梭回历史版本

当你修改东西时发现自己改乱了,自己都理不清了,想返回到 上一次提交的版本,则可以使用 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 log 命令查看提交的历史版本记录。

使用 git reset 命令回溯到某个指定历史版本,并清楚其后的版本。

使用 git checkout 命令回溯到某个指定历史版本,同时并不影响其他版本,其后再新建版本则会新建一个分支。


发表评论
评论通过审核后显示。