Załóżmy, że merge
git i jest konflikt scalania.
Moje pytanie brzmi: jak zmusić git, aby zawsze wybierał nowszą wersję kodu będącego w konflikcie, aby nie musieć rozwiązywać konfliktu ręcznie?
Załóżmy, że merge
git i jest konflikt scalania.
Moje pytanie brzmi: jak zmusić git, aby zawsze wybierał nowszą wersję kodu będącego w konflikcie, aby nie musieć rozwiązywać konfliktu ręcznie?
Odpowiedzi:
Nie jest to dokładnie „nowsza” wersja, ale możesz powiedzieć gitowi, aby zawsze preferował wersję z bieżącej gałęzi używając git merge branch -X ours
lub preferował wersję scalanej gałęzi, używając git merge branch -X theirs
.
Od man git-merge
:
nasz:
Ta opcja wymusza automatyczne rozwiązywanie konfliktów porcji poprzez faworyzowanie naszej wersji. Zmiany z innego drzewa, które nie kolidują z naszą stroną, są odzwierciedlane w wyniku scalenia. W przypadku pliku binarnego cała zawartość jest pobierana z naszej strony.
ich:
Jest to przeciwieństwo „naszego”.
ours
- theirs
!! Po prostu powiedz to, a zrozumiesz, co robi polecenie! Uwielbiam Git! : D
git merge branch
, musisz git merge --abort
to zrobić, zanim będziesz mógł to zrobić.
error: The following untracked working tree files would be overwritten by merge:
Nie wiem nawet, dlaczego te pliki są w tej gałęzi w pierwszej kolejności, ale powinny zostać nadpisane, a git odmawia.
git add
je najpierw usunąć (lub ). Przeczytaj trochę o tym git clean
, może ci to pomóc.
git merge ours
są jakieś pliki konfliktów, czy będzie jakiś dziennik? i czy mogę śledzić z git merge ours
?
Używam tego,
git fetch --prune
git reset --hard origin/master