如何将合并展平为线性历史记录?

时间:2012-02-06 18:22:04

标签: git

我刚刚同步了我的git repo并遇到了回归。我想直接浏览历史记录,直到找到责任的提交,但是当我执行git log时,有一个巨大的合并只显示为单个提交。

有没有什么方法可以在我的本地分支中展平这个合并,所以git log只有一个我能走过的线性历史?

3 个答案:

答案 0 :(得分:5)

您要找的是interactive rebase

您可以通过git rebase -i master对主人进行折扣。你应该看到像

这样的东西
pick ba6b4b7 Commit messages here
pick 744ea3b Another commit message
pick 33539d5 Commits all around!

然后你可以在第一个之后更改“选择”以“压缩”。这会将它们全部压缩到顶部提交。您还可以将顶部“选择”更改为“fixup”以更改其提交消息。

答案 1 :(得分:3)

Git rebase就是你所追求的。

答案 2 :(得分:0)

除了实际的rebase,您还可以微调您的查询。对于每个合并,git log --topo-order $head将在合并提交之后列出合并分支的所有内容。它看起来就像你重新分支那个分支。

相关问题