继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

恢复提交记录

为爱心太软
关注TA
已关注
手记 170
粉丝 1.4万
获赞 860

使用方法

不管是修改、压缩还是撤销提交记录,都有可能造成提交的丢失,那么该如何找回原来的提交呢?
最常用的方法,是使用 git reflog 指令,reflog 中记录着每一次提交或改变分支的值。

执行 git log,列出 bugfix 分支上的所有提交:

$ git checkout bugfix
$ git log
commit 05eff054b9690250b97e910520677d3c5e39e156 (HEAD -> bugfix, origin/bugfix)
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Fri Mar 1 11:15:51 2024 +0800

    第二次修改bugfix

commit da135880e3805b027f33e873da6bd02e5cb2099f
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Fri Mar 1 11:14:46 2024 +0800

    修改bugfix

commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Tue Jan 30 16:24:42 2024 +0800

    first commit
(END)

执行变基操作压缩前两次的提交记录:

$ git rebase -i ca5ebf0
$ git log
commit 601f7a53bdd68f5f17e381182b3b2b7df1d9c1d4 (HEAD -> bugfix)
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Fri Mar 1 11:14:46 2024 +0800

    修改bugfix

commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Tue Jan 30 16:24:42 2024 +0800

    first commit
(END)

如果想恢复压缩的提交,首先可以通过执行 git reflog 指令来查看曾经做过什么。

$ git reflog
601f7a5 (HEAD -> bugfix) HEAD@{0}: rebase (finish): returning to refs/heads/bugfix
601f7a5 (HEAD -> bugfix) HEAD@{1}: rebase (squash): 修改bugfix
da13588 HEAD@{2}: rebase (start): checkout ca5ebf0
05eff05 (origin/bugfix) HEAD@{3}: commit: 第二次修改bugfix
da13588 HEAD@{4}: commit: 修改bugfix
ff34906 (origin/main, main) HEAD@{5}: checkout: moving from main to bugfix
...

05eff05 看起来就是最后一次提交,可以通过 git reset 来恢复它:

$ git reset 05eff05
$ git log
commit 05eff054b9690250b97e910520677d3c5e39e156 (HEAD -> bugfix, origin/bugfix)
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Fri Mar 1 11:15:51 2024 +0800

    第二次修改bugfix

commit da135880e3805b027f33e873da6bd02e5cb2099f
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Fri Mar 1 11:14:46 2024 +0800

    修改bugfix

commit ca5ebf0f7e0438c514b9039594e86b6bc1ef64e2
Author: zhanglianwei <zhanglianwei@meituan.com>
Date:   Tue Jan 30 16:24:42 2024 +0800

    first commit
(END)
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP