Git: pobieranie zmian z innej gałęzi


82

Mam projekt korzystający z git i chciałbym rozpocząć nową gałąź, aby dodać dużą nową funkcję.

W maingałęzi będę nadal dodawać poprawki błędów i drobne funkcje. Chciałbym w regularnych odstępach czasu przenosić zmiany z gałęzi głównej do gałęzi „nowa główna funkcja”. Jak najlepiej to zrobić?

Ostatecznie połączę gałąź „główna nowa funkcja” z gałęzią główną.

Odpowiedzi:


57

git checkout featurebranch && git merge master

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


29
git rebase mastermoże być bardziej pożądane niż w git merge mastercelu uproszczenia późniejszej integracji z powrotem do gałęzi głównej.
Amber

114
git checkout featurebranch && git rebase master

Dopóki jeszcze nie pchnąłeś, lepiej jest powtórzyć zmiany na górze master.

Widzieć:


1
Czy możesz uzyskać nowsze zmiany za pomocą git rebase, czy tylko dzięki git merge?
keflavich

@keflavich, ponieważ zmieniasz bazę featurebranchna mistrza, otrzymujesz wszystkie najnowsze commity od master. Scalanie byłoby podobne, ale spowoduje nieco bardziej złożoną integrację z masterpóźniejszymi zmianami.
VonC

2
Hej! Jestem git newb, więc czy możesz przejść do bardziej szczegółowych informacji na temat as long as you haven't pushed yet?Mam gałąź funkcji, którą umieściłem w zdalnym repozytorium w celu wykonania kopii zapasowej. Czy mogę kontynuować git rebase master, a następnie zatwierdzić i przesłać trochę pracy do mojej gałęzi funkcji git rebase master? Muszę również scalić inne gałęzie funkcji w moją gałąź!
Brad Parks,

@GringoSuave Tak, jeśli nie jesteś jedyną osobą pracującą nad tą gałęzią funkcji. Ogólnie rzecz biorąc, przebuduj tylko to, czego jeszcze nie pchnąłeś (chyba, że ​​jesteś jedynym, który nad tym pracuje)
VonC
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.