Mam sobie takie repo:
Co bym chciał zrobić: wziąć zmiany które weszły w ostatnim commicie i dołączyć do któregoś z wczesniejszych commitów np do "pierwszy", a ten ostatni commit usunąć.
Robie więc:
git rebase -i 37f8
daje fixup i zmieniam kolejnosc tego ostatniego commita:
Robie pusha z force i spoko, (prawie działa), mam dwa problemy:
Jeśli (a tak najprawdopodobniej będzie) w tym ostatnim commicie (który chce usunąć a zmiany z niego wcisnąć wcześniej) będą zmiany w plikach które tez będą w innych commitach to oczywiscie dostane konflikty. Ok, roziązuje konflikty notatnikiem (póki co), daje git rebase --continue
i znowu mi wskakuje to okienko od vima i nazwą pierwszego commita, nie wiem co wtedy, po zapisie dalej mi sie pluje ze mam konflikt :/
Druga sprawa, chce to robic wszystko skryptem, tzn zrobic to z wiersza polecen nie uzywajac interaktywnego rebase. Czyli podac do skryptu 2 hashe commitów, jeden z ktorego zmiany będą doklejone do drugiego a ten pierwszy usunąć.
Podsumowująć, jak poradzic sobie z konfliktami (chce po prostu kolejny commit po tym moim "pierwszym" nadpisal zmiany w skonfliktowanych linijkach)? Dwa, jak to zrobic bez interaktywnego rebase?