清理主分支还要详细记录中间提交

时间:2017-06-08 12:13:12

标签: git branch git-merge git-log

目标:保持主人的干净历史,同时保持中间人的提交。

例如,让我们从主分支开始:

M1 --- M2 --- M3
              ^                  
              master

我在新分支上处理功能/错误/无论如何:

M1 --- M2 --- M3
              ^  \
              |   \- F1 --- F2 -- F3
              |                   ^
              master              feature

当我合并为主人时,我希望M3成为父母,但也要保持"迭代"你从M3到达新提交。这可以通过merge --no-ff

完成
M1 --- M2 --- M3 ----------------------- M4
                 \                    /  ^
                  \- F1 --- F2 -- F3-/   master
                                  ^
                                 feature

这几乎是我的想法。我遇到的问题是,对于git,据我所知,M3F3都是"等于" M4的父母,现在都是分支master的一部分。

我想要的是能够在没有功能分支(git log)的情况下使用F1-F3}主分支显示分支的清晰视图。理想情况下,这将是默认的。但也可以显示F1 F3次提交内容以查看更多"详细信息"需要的历史。

有没有办法在git

中有这个或接近这个的东西?

1 个答案:

答案 0 :(得分:2)

怎么样

git log --first-parent master

引用手册

  

在看到合并提交时,仅遵循第一个父提交。在查看特定主题分支的演变时,此选项可以提供更好的概述,因为合并到主题分支往往只是关于不时调整到更新的上游,并且此选项允许您忽略引入的单个提交这种合并的历史。