2013-01-11 13 views
39

Kiedy łączę gałąź w git z mistrzem, często dochodzi do konfliktów scalających. Czy istnieje sposób na połączenie gałęzi i po prostu nadpisanie rzeczy w bieżącym oddziale?Git: Scalanie, ale nadpisywanie zmian

+0

Masz na myśli jak w SVN - użyj ich? – stdcall

+0

Moje doświadczenie z automatycznym wyborem jednej strony do scalenia nigdy nie było dobre ... czy też nie jest to kwestia konfliktów scalania, aby sprawdzić, co inni zmienili w pobliżu tych samych linii, co przed usunięciem zmian? – Molske

+3

To ja utworzyłem oddział lokalnie na pierwszym miejscu .. jest to po prostu szybsze niż trałowanie w pliku i usunięcie konfliktów –

Odpowiedz

55

Dodaj argument -X ours do swojej komendy git merge.

Załóżmy, że pracujesz w lokalnym oddziale. Następnie chcesz połączyć się, co poszło w master:

git merge -X ours master 

Z drugiej strony, jeśli w master i scalić się z lokalnym oddziałem w master czym słusznie mówi @elhadi należy użyć theirs:

git merge -X theirs somebranch 
+1

strategia jest ich celem podjęcia pracy nie nasza –

+0

@elhadi Rozumiem, że John Hunt chce popchnąć * swoją * praca, nie ich. – kmkaplan

+0

To był oddział lokalny tak. Np. Pracowałem nad kilkoma gałęziami i chciałbym scalić/zastąpić pliki niektórych gałęzi w miejsce tych na master. –

4

nadpisać swoich pracowników w swoim oddziale i podjąć pracę, należy dokonać

git merge --strategy=recursive -X theirs {remote/branch} --> example:origin/master 
Powiązane problemy