Чтобы сохранить более чистую историю, я пытался сделать git rebase .
У меня было несколько коммитов в моей ветке, и я хотел раздавить их при выполнении ребазирования.
Требуемый результат:
Переход от этого:
Master A-B
\
MyBranch 1-2-3-4-5-...-10-..-20
К тому:
Master A-B-C
Сценарий
Я начал с ветвления с коммита A
в мастере и работал над своей веткой:
Master A
\
MyBranch 1-2-3-4-5-...-10
Когда я работал над своей веткой, другой коммит B
былсделано в мастере:
Master A-B
\
MyBranch 1-2-3-4-5-...-10
Чтобы получить хороший CI, я начал с объединения коммита B
в myBranch
и решил все конфликты, которые у меня были:
Master A-B
\ \
| ----------- merge
| \
MyBranch 1-2-3-4-5-...-10
Тогда у меня было еще несколько коммитов в моей ветке:
Master A-B
\ \
| ----------- merge
| \
MyBranch 1-2-3-4-5-...-10-...-20
Затем я запустил rebase -i
(используя Intellij).
На этом этапе я думал, что больше не будет отображаться запрос на слияниевверх, когда B
объединено в myBranch
.
Но затем Intellij попросил объединить те же файлы, которые я уже объединял ранее.
И когдаЯ решил весь конфликт, он попросил меня сделать это снова.и опять.и опять.С одними и теми же файлами снова и снова.
Кажется, что для каждого коммита (или части коммитов) из 1 - 20
коммитов мне нужно было снова разрешить конфликт слияния.
Толькопосле разрешения конфликтов примерно 7 раз операция закончилась.
Есть ли что-то, чего мне здесь не хватает, чтобы избежать этой ямы?