Jak mogę na bieżąco aktualizować moją gałąź z Master w git?


126

Mam poprawkę w moim pliku głównym i chcę również, aby moja gałąź otrzymała tę poprawkę. Jakiego gitpolecenia używam?

Odpowiedzi:


172

Zakładając, że wszystko jest w porządku, biorąc wszystkie zmiany do wzorca, chcesz:

git checkout <my branch>

aby przełączyć drzewo robocze na twoją gałąź; następnie:

git merge master

aby połączyć wszystkie zmiany w master z twoją.


5
A to po prostu dodaje zmiany z mojego pana do mojej gałęzi i pozostawia mistrza w spokoju, prawda?
Nic Hubbard

3
@Nic - to przyniesie wszystkie zatwierdzenia z mastera, a nie tylko poprawkę błędu. Upewnij się, że to jest to, co chcesz zrobić.
manojlds

12
@Nic - dobrze, to nie modyfikuje mastera.
John Doty

16
Dobrze byłoby polecić początkowy „git checkout master; git pull”, aby upewnić się, że lokalna gałąź główna jest aktualna. Zwykle oczywiste, ale ...
MikeW

Jako główny skrót do kasy / scalania, czy możesz po prostu wykonać „git pull origin master”, aby pobrać serwer główny / scalić go do lokalnej wyewidencjonowanej gałęzi?
user1172173

66

Jeśli twoja gałąź jest tylko lokalna i nie została wypchnięta na serwer, użyj

git rebase master

W przeciwnym razie użyj

git merge master

18
Ponieważ modyfikuje historię zatwierdzeń i nie chcesz wypychać zmodyfikowanej historii wyszukiwania na serwer.
Chetan

1
Jeśli używasz repozytorium svn jako repozytorium zdalnego - przez git svn- wtedy git rebase masterjest to droga do zachowania liniowej historii, co jest tym, co rozumie svn.
alondono

15

Możesz użyć najlepszego wyboru, aby uzyskać konkretne poprawki błędów

$ git checkout branch
$ git cherry-pick bugfix

czy najlepszy wybór będzie działał tylko wtedy, gdy bugfix była gałęzią, która została ponownie scalona w master?
Prasith Govin

1
Możesz wybrać opcję „cherry-pick”, ale wtedy po scaleniu brancha z master (gdy gałąź jest gotowa) będziesz miał w historii zatwierdzenie poprawiające błędy dwukrotnie.
Gauthier

0

Jeśli chcesz tylko, aby poprawka została zintegrowana z gałęzią, git cherry-pickodpowiednie zmiany.

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.