Mam plik, który ma dwa zobowiązuje interesów, zarówno na Master
branży, zarówno tylko modyfikując jeden plik foo
: poprzednia popełnić AA
i aktualną wersję w HEAD
. Chciałbym scalić dwie wersje pliku, zachowując bity obu, w HEAD
na Master
.GIT: Scalanie stary zobowiązać do obecnego szefa wersji
zrobiłem najprostszą rzeczą, że myślałem, że będzie działać:
git checkout -b merge-purgatory AA
git commit -m "pulled foo back from previous commit for merging into HEAD."
git checkout master
git merge merge-purgatory
który po prostu nadpisuje aktualną HEAD
wersję foo
z AA
wersji. Wypróbowałem także bardziej gadatliwy git checkout -m
, ten sam wynik: głupie nadpisanie.
Jak wymusić na git wersję AA
wersja foo
jako sprzeczne scalenie z bieżącą wersją HEAD
?
W zasadzie, po prostu pomiń git wiedzę o poprzednim zatwierdzeniu i użyj ręcznego scalania/mergetool. Miałem nadzieję na bardziej klekoczące zachowanie z Git, ale jest to tak proste, że użyłem go z powodzeniem i po prostu zrobiłem trochę sprzątania później. Dzięki! – Noel