问题
鉴于我有如下提交:
A - B - C - D - G - H
\ /
- E - F -
我如何仅在第一父母之后获得完美的线性历史?
例如,我想得到:
A - B - C - D - G'- H'
如上所述,预计 G 和 H 的 sha1 会发生变化。(出于显而易见的原因)。如果 A、B、C 和 D 的 sha1 也发生了变化,那么我想知道为什么。
背景
目的是避免在执行天真的 git rebase -i 时可能出现的潜在合并提交。
真正的重点是希望获得额外的洞察力,以确定哪些提交在特定的分支中,例如,如果我们有以下图表:
I - J - K - L - M
\ / / /
- N - O - P -
其中 N 合并到 K 中,但 O 与 --strategy=ours 合并到 L 中,P 合并到 M 中。
我希望能够线性化我的历史记录,以便可以识别和检查此类有问题的提交。我想要一棵树,可以识别 O 没有放入上游分支,即使我可能通过使用 git cherry 将 N 和 P 识别为上游分支中可能丢失,但是这里的任何建议都将不胜感激.