Как мне тривиально линеаризовать мою историю мерзавцев?
Учитывая, что у меня есть коммит как следующее:
A - B - C - D - G - H
\ /
- E - F -
Как получить идеально линейную историю, следуя только за первыми родителями?
Например, я хочу получить:
A - B - C - D - G'- H'
Ожидается, что Sha1 's из G и H изменятся, как отмечено выше. (По понятным причинам). Если Sha1 's для A, B, C и D тоже меняются, тогда я хочу знать почему.
ФонЦель состоит в том, чтобы избежать потенциальных коммитов слияния, которые могут возникнуть при выполнении наивного git rebase -i.
Реальная цель состоит в том, чтобы надеяться получить дополнительное понимание, чтобы определить, какие коммиты находятся в конкретной ветке, например, если у нас есть следующий график:
I - J - K - L - M
\ / / /
- N - O - P -
Где N был объединен с K, но O был объединен с --strategy = ours в L, а P был объединен с M.
Я хочу иметь возможность линеаризовать мою историю, чтобы такие проблемные коммиты могли быть идентифицированы и проверены. Я хочу иметь дерево, в котором можно было бы определить, что O не был помещен в ветвь вверх по течению, даже если я потенциально идентифицирую N и P как потенциально отсутствующие в ветке вверх по течению, используя git cherry, однако любые предложения здесь будут оценены ,