对于一个或多个已经提交过文件,我们可能会对这个文件再次进行修改,恢复,删除等操作。所以有时候我们也需要将版本回退我们想要的那个版本。

readme 我们再次向里面添加内容。

#编辑readme文件
vi readme.txt

我在 readme 文件里面添加了

版本库文件管理

现在我们用 git log 命令查看

Git入门学习(三)-版本回退
git log 命令显示的是从最近到最远的提交日志信息。从图中可以看到,我们刚刚提交到信息版本库文件管理,以及上一篇博客里的操作git status和git diff命令添加readme文件


git log --pretty=oneline命令是能够更加简洁的查提交日志信息。如下图所示:

Git入门学习(三)-版本回退

git log命令查看出的一大串1102a...commit id (版本号),有了这个版本号,我们就可以通过这个版本号将文件恢复到我们想要的那版本文件。



在Git中,HEAD 表示当前版本,在图中我们可以看到HEAD -> master ,上一个版本就是HEAD^ ,上上一个版本就是HEAD^^,如果版本多的话写多个^也麻烦,可以使用数字代替,即往上10个版本就是HEAD~10,往上25个版本就是HEAD~25

使用git reset命令将文件回退到上一个版本

Git入门学习(三)-版本回退

现在 readme 文件已经成功回退到了上个版本,如果我们想恢复到刚刚最新版本也是可以的。

使用git reflog命令可以查看到我们的每一次命令历史。

Git入门学习(三)-版本回退
从图中我们可以看到版本库文件管理这个版本的commit id1102a32(实际并不是这么短),恢复时,我们就用git reflog 命令查询到的commit id 就行。

操作还是和上面回退到上一个版本的一样,用git reset命令,不过这次是通过具体的commit id 来实现。
Git入门学习(三)-版本回退


小结

1.版本恢复:
#回退到上一个版本,两个命令都可以
git reset --hard HAED^
git reset --hard HAED~1
2.查看提交历史,确定要回到哪个版本
git log
3.查看命令历史,确定要回到未来的哪个版本
git reflog
4.查看历史提交记录
git log --pretty=oneline --abbrev-commit

相关文章: