git:合并之前我提交的是什么?

时间:2015-11-23 04:42:19

标签: git

我刚刚进行了很多提交的快速合并,它打破了一些功能。

(怎么样)我可以在合并之前找出我的提交内容吗?

1 个答案:

答案 0 :(得分:2)

正如评论中已经提到的,您可以使用命令git reflog来实现此目的。 reflog 创建Git分支指针的所有移动。这包括以下行为:

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

要查看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