2013-08-26 22 views
8

mam develop & master gałęzie, mój develop oddział jest niechlujny i teraz chciałbym, aby przywrócić go i uczynić go jako kopię mojego master. nie jestem pewien, czy scalenie master w develop spowoduje, że oba będą identyczne. Po próbuje scalić mam wiele konfliktów i rozwiązać je za pomocą:jak zresetować rozwinąć gałąź opanować

git checkout develop 
git merge origin/master 
//got many conflicts 
git checkout . --theirs 

czy to wystarczy dla develop oddział być identyczna kopia do master?

Dzięki

+0

Brzmi jak szukasz [usunąć gałąź] (http://stackoverflow.com/questions/2003505/how-to-delete-a-git-branch-both-lokalnie-i-zdalnie)? – zehelvion

Odpowiedz

12

Jeśli chcesz, aby develop być identyczna master, najprostszym sposobem jest po prostu odtworzyć wskaźnik:

git branch -f develop master 

Lub, jeśli masz ady mają develop wyrejestrowany:

git reset --hard develop master 

Należy jednak pamiętać, że obie te opcje będą pozbyć się historii, które develop miał co nie było w master. Jeśli to nie jest w porządku, można zachować go zamiast tworząc popełnić że dublowane master „s najnowszy stan:

git checkout develop 
git merge --no-commit master 
git checkout --theirs master . 
git commit 
+1

Moja gałąź rozwijana jest używana przez innych programistów, więc jeśli zresetuję - jak mogę to popchnąć innym programistom? – trrrrrrm

+0

@ra_htial Muszą również zresetować do niego. Prawdopodobnie nie chcesz korzystać z dwóch pierwszych opcji, jeśli dzielisz oddział z innymi, chyba że wiedzą również, że chcesz zresetować i nie masz żadnych oczekujących prac. – Amber

+0

Tak, wszyscy zgodziliśmy się na zresetowanie, a potem wszyscy powinniśmy zresetować, a potem rozpocząć naszą pracę i pchać jak zwykle? – trrrrrrm

13

jeśli chcesz po prostu im się to samo

następnie

//from Develop and assuming your master is up to date with origin/master 
git reset --hard master