恢复提交记录

2024/3/4 23:02:17

本文主要是介绍恢复提交记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用方法

不管是修改、压缩还是撤销提交记录,都有可能造成提交的丢失,那么该如何找回原来的提交呢?
最常用的方法,是使用 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)


这篇关于恢复提交记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程