我刚刚同步了我的git repo并遇到了回归。我想直接浏览历史记录,直到找到责任的提交,但是当我执行git log
时,有一个巨大的合并只显示为单个提交。
有没有什么方法可以在我的本地分支中展平这个合并,所以git log
只有一个我能走过的线性历史?
答案 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
将在合并提交之后列出合并分支的所有内容。它看起来就像你重新分支那个分支。