如何查看当前分支上的最后一次提交,同时忽略合并的提交?

时间:2014-11-07 15:45:34

标签: git version-control

我有点傻瓜,换了一个完全错误的分支,拉,然后合并我们的开发分支,让一切都变得最新。事实证明,我改用的分支机构在几个月内没有被触及,并且由一位名叫我不知道且不再在该公司工作的开发人员工作。

鉴于我合并了我们的dev分支,当我执行git log时,我会看到所有人提交的allllll。所以我不知道最后一次提交在这个分支上是什么。有没有办法在我目前正在my_feature分支上查看提交的提交?

目标是撤消我所做的所有伤害并将其恢复到我找到它时所处的状态。

编辑:

在下面添加了答案。

3 个答案:

答案 0 :(得分:0)

经过一番观察,我发现this question显示了如何在git log

中显示分支信息
git log --graph --all --decorate

使用该信息,就像滚动回日志一样简单,直到找到引用错误合并的分支的第一个提交。

复制提交哈希,然后您可以通过

重置所有内容
git reset --hard {commit hash}

答案 1 :(得分:0)

对于以令人兴奋的方式移动HEAD的操作,包括合并,HEAD的先前位置记录在ORIG_HEAD中。这使得在将其他分支合并到my_feature之前,很容易回到状态:

git reset --merge ORIG_HEAD

Git在不同的点上保留了一些其他类似的特殊符号引用。请查看gitrevisions man page

答案 2 :(得分:0)

听起来你想要的是跟踪提交历史记录向下只有一个父的合并提交。如果您在功能分支上,并且只想查看该功能的提交,请执行

git log --first-parent my_feature