Вопрос
Учитывая, что у меня есть фиксация следующим образом:
A - B - C - D - G - H
\ /
- E - F -
Как получить совершенно линейную историю после первых родителей?
Например, я хочу получить:
A - B - C - D - G'- H'
Ожидается, что sha1 из G и H изменится, как указано выше. (По понятным причинам). Если sha1 для 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, однако любые предложения здесь быть оцененным.