2010-06-26 20 views
66

Mam projekt pod git. Chciałbym rozpocząć nową gałąź, aby dodać nową ważną funkcję. Pod główną gałęzią będę kontynuować dodawanie poprawek i drobnych funkcji. W regularnych odstępach czasu chciałbym przenieść zmiany z głównej gałęzi do mojej gałęzi "główna nowa funkcja". Jaki jest najlepszy sposób na zrobienie tego? W końcu scalę gałąź "główna nowa funkcja" w główną gałąź.Git: uzyskiwanie zmian z innego oddziału

Odpowiedz

49

git checkout featurebranch && git merge master

Można to zrobić tyle razy, ile zechcesz; nie wpłynie to na master, a będziesz mógł z łatwością zrobić to na odwrót, gdy tylko dowiesz się, że skończyłeś pracę z gałęzią.

+27

'git rebase master' mogą być bardziej pożądane niż' git scalania master' dla uproszczenia późniejszą integrację z powrotem do oddziału głównego. – Amber

99
git checkout featurebranch && git rebase master 

Dopóki jeszcze nie pchnąłeś, lepiej powtórzyć zmiany na mistrzu.

Patrz:

+1

Czy możesz uzyskać więcej najnowszych zmian z git rebase, czy tylko z git merge? – keflavich

+0

@ keflavich, ponieważ przekreślasz 'featurebranch' na szczycie wzorca, otrzymujesz wszystkie najnowsze zatwierdzenia z' master'. Scalenie będzie podobne, ale spowoduje nieco bardziej złożoną integrację z 'master' później. – VonC

+1

hej! Jestem git newb, więc czy możesz bardziej szczegółowo opisać, jak długo jeszcze nie pchnąłeś? Mam gałąź z funkcjami, którą wysłałem do zdalnego repo na potrzeby kopii zapasowej. Czy mogę dalej robić 'git rebase master', a następnie zatwierdzać i przekazywać trochę pracy do mojej gałęzi funkcji, a następnie' git rebase master'? Muszę również połączyć inne gałęzie z funkcjami w moim oddziale! –

Powiązane problemy