git:在合并之前我执行了什么提交

  • 本文关键字:执行 提交 合并 git git
  • 更新时间 :
  • 英文 :


我刚刚做了一个包含大量提交的快进合并,它破坏了一些功能。

(如何)我能知道我在合并前进行了哪些提交吗?

如注释中所述,您可以使用命令git reflog进行此操作。reflog创建Git分支指针的所有移动。这包括以下操作:

  • 使用git commit(或其他创建新提交的命令,如git cherry-pick或其他命令)在分支中创建新提交
  • 使用git reset将分支指针重置为另一个提交
  • 合并另一个分支快进合并和常规三向合并

要查看master分支尖端随时间的变化,请使用命令

> git reflog master

这将生成如下所示的历史:

e03b939 master@{0}: pull: Fast-forward
fa6a265 master@{1}: commit: Added section on project background
c9957fd master@{2}: commit (merge): Merge branch 'feature/foobar'
9d4e390 master@{3}: pull: Merge made by the 'recursive' strategy.
536c04a master@{4}: commit (merge): Merge remote-tracking branch 'origin/master'
d1cf7ad master@{5}: commit: Fix broken formatting
a0cfc5c master@{6}: pull: Fast-forward
c638351 master@{7}: reset: moving to HEAD^
303307e master@{8}: commit: Add awesome feature
...

第一行master@{0}包含您的master分支当前指向的提交。第二行master@{1}将在执行快进合并之前向您显示master分支所指的提交。

要将主分支重置为该提交,只需使用git reset:

> git reset --hard fa6a265

最新更新