恢复提交和合并没有出现在HEAD"历史"

时间:2014-05-17 17:59:59

标签: git

在我做了一个恢复提交然后合并之后,另一个贡献者提交了几(3)次提交,我想用git diff HEAD^^^ HEAD检查它们,这显示了我确定已经通过我之前的提交更新的块。使用git show我得出的结论是,在使用HEAD[^...][~...]个快捷方式时,不会考虑还原提交和合并内容。

以下是相关产出:

$git log -7
3 hours ago 6bcab3e omglolol jun   <--This branch master where HEAD is
4 hours ago 0682cd5 otherfucking editeur de map jun
4 hours ago 83b61da motherfucking editeur de map jun
5 hours ago caf26e1 Merge branch 'welcome' Nath@Home
5 hours ago 5ddbbd0 Revert "back to menu" Nath@Home
5 hours ago 2cb664c user can go fkin everywhere Nath@Home   <--Made on branch welcome
6 hours ago 06221f9 back to menu jun

$git show HEAD^^
4 hours ago 83b61da motherfucking editeur de map jun
<diff follows...>

$git show HEAD^^^
6 hours ago 06221f9 back to menu jun
<diff follows...>

$git --version
git version 1.8.1.2 <--packaged linux mint 15

看来,我对HEAD...快捷方式的理解似乎在这里失败了,但我没有发现任何有关此问题的信息比通常的面包和黄油案例更进一步。有人可以启发我吗

1 个答案:

答案 0 :(得分:1)

这个问题是你的合并主人与欢迎&#39;分支机构,主人&#39; branch有两个父母,即之前提交的&#39; master&#39;,以及最新提交的欢迎&#39;。所以说&#34;给我世界状态3提交前#34;是不明确的,默认情况下git会显示未合并分支中的最后一次提交。 git HEAD ^^^^ 2将为您提供世界状态,因为它是在主人的第二个父母身上。在合并之前。

另见What's the difference between HEAD^ and HEAD~ in Git?了解