对于一个或多个已经提交过文件,我们可能会对这个文件再次进行修改,恢复,删除等操作。所以有时候我们也需要将版本回退我们想要的那个版本。
对 readme 我们再次向里面添加内容。
#编辑readme文件
vi readme.txt
我在 readme 文件里面添加了
版本库文件管理
现在我们用 git log 命令查看
git log 命令显示的是从最近到最远的提交日志信息。从图中可以看到,我们刚刚提交到信息版本库文件管理,以及上一篇博客里的操作git status和git diff命令 和添加readme文件。
git log --pretty=oneline命令是能够更加简洁的查提交日志信息。如下图所示:
git log命令查看出的一大串1102a...是commit id (版本号),有了这个版本号,我们就可以通过这个版本号将文件恢复到我们想要的那版本文件。
在Git中,HEAD 表示当前版本,在图中我们可以看到HEAD -> master ,上一个版本就是HEAD^ ,上上一个版本就是HEAD^^,如果版本多的话写多个^也麻烦,可以使用数字代替,即往上10个版本就是HEAD~10,往上25个版本就是HEAD~25。
使用git reset命令将文件回退到上一个版本
现在 readme 文件已经成功回退到了上个版本,如果我们想恢复到刚刚最新版本也是可以的。
使用git reflog命令可以查看到我们的每一次命令历史。
从图中我们可以看到版本库文件管理这个版本的commit id 是1102a32(实际并不是这么短),恢复时,我们就用git reflog 命令查询到的commit id 就行。
操作还是和上面回退到上一个版本的一样,用git reset命令,不过这次是通过具体的commit id 来实现。
小结
1.版本恢复:
#回退到上一个版本,两个命令都可以
git reset --hard HAED^
git reset --hard HAED~1
2.查看提交历史,确定要回到哪个版本
git log
3.查看命令历史,确定要回到未来的哪个版本
git reflog
4.查看历史提交记录
git log --pretty=oneline --abbrev-commit