2013-01-21 15 views
5

Kiedy trzeba scalić konfliktów w git, pojawiają się one w pliku jak poniżej:Jak wymusić git scalić konflikt

<<<< 
    old 
    old 
==== 
    new 
    new 
>>>> 

Teraz mam pewne zmiany na origin/master jadę wtopić się mój lokalny master gałąź. Jeśli po prostu scalę je normalnie, nowe linie pojawią się ładnie w pliku, ponieważ nie ma konfliktów.

Jednak chcę, aby zmiany wyglądały jak te konflikty powyżej, więc widzę zarówno stare, jak i nowe linie, w których występują konflikty, otoczone <<<< i >>>>, przeglądaj każdą zmianę ręcznie i usuwaj rzeczy, które powinny zniknąć.

Jak "sprowokować" taki konflikt?

Sposób obejścia problemu polega na wykonaniu git diff -U999999 original.txt > review.txt, ale należy usunąć wiele znaków - i + na początku każdej linii podczas przeglądania pliku.

+0

która nie byłaby dobrą praktyką dla projektu, który ma mnóstwo plików. – uday

+0

Dlaczego nie "git commit -v", kiedy popełniasz, i po prostu przejrzyj różnicę? – AD7six

Odpowiedz

0

przed zatwierdzeniem można po prostu zrobić git diff path/to/file, aby zobaczyć, co się zmieniło.

Możesz łatwo skonfigurować narzędzie graficzne, które będzie używane podczas porównywania różnic lub konfliktów - patrz przykłady: http://adventuresincoding.com/2010/04/how-to-setup-git-to-use-diffmerge.

Używam DiffMerge, a kiedy robimy różnicę, pozwala to na samodzielne usunięcie zmian, co brzmi jak pożądane zachowanie.

Powiązane problemy