Git – 操作日志(reflog)

git reflog可以查看操作记录,例如创建分支、切换分支等操作。

注意git log查看的是当前分支的提交记录。

示例

使用git reflog查看操作记录:

Kevin@qikegu MINGW64 /g/project/git-demo (master)
$ git reflog
ddfa3c8 (HEAD -> master) HEAD@{0}: rebase -i (finish): returning to refs/heads/master
ddfa3c8 (HEAD -> master) HEAD@{1}: rebase -i (reword): add some numbers to test1.txt
ca0ad8e (origin/master, origin/HEAD) HEAD@{2}: rebase -i: fast-forward
454d25c HEAD@{3}: rebase -i (start): checkout c9f926d
d574d8e HEAD@{4}: rebase -i (finish): returning to refs/heads/master
d574d8e HEAD@{5}: rebase -i (start): checkout 454d25c
d574d8e HEAD@{6}: checkout: moving from rebase-i-demo to master
0309099 (rebase-i-demo) HEAD@{7}: rebase -i (finish): returning to refs/heads/rebase-i-demo
0309099 (rebase-i-demo) HEAD@{8}: rebase -i (pick): modified: test1.txt
547c25b HEAD@{9}: rebase -i (reword): add 'klmno' to test1.txt.
454d25c HEAD@{10}: rebase -i: fast-forward
c9f926d HEAD@{11}: rebase -i (start): checkout HEAD~3
e7a47a0 HEAD@{12}: checkout: moving from master to rebase-i-demo
d574d8e HEAD@{13}: commit: add 'uvwxy' to test1.txt

...

可以看到执行过的各种操作,都被记录下来了。操作前面的提交哈希值,表示该操作执行时所在的提交。

恢复到某个提交版本

reflog是Git的安全网,记录了仓库中所做的全部更改,无论更改是否提交。知道了某步操作的提交哈希值,就可以使用git resetgit checkout恢复到该提交版本,从而撤销该操作。

恢复到头部往后的第2个提交:

$ git reset HEAD~2


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载