Wie kann ich meine Filiale mit Master with Git auf dem neuesten Stand halten?


126

Ich habe eine Fehlerbehebung in meinem Master, und ich möchte auch, dass mein Zweig diese Fehlerbehebung erhält. Welchen gitBefehl verwende ich?

Antworten:


172

Angenommen, Sie können alle Änderungen im Master übernehmen, möchten Sie Folgendes:

git checkout <my branch>

um den Arbeitsbaum auf Ihren Zweig umzustellen; dann:

git merge master

um alle Änderungen im Master mit Ihren zu verschmelzen.


5
Und das fügt nur die Änderungen von meinem Master in meinen Zweig ein und lässt den Master in Ruhe, richtig?
Nic Hubbard

3
@Nic - Dies bringt alle Commits vom Master ein, nicht nur die Fehlerbehebung. Stellen Sie sicher, dass Sie dies tun möchten.
Manojlds

12
@Nic - Richtig, dies ändert den Master nicht.
John Doty

16
Es könnte sinnvoll sein, einen ersten "git checkout master; git pull" zu empfehlen, um sicherzustellen, dass der lokale Master-Zweig auf dem neuesten Stand ist. Normalerweise offensichtlich, aber ...
MikeW

Können Sie als Verknüpfung für das Auschecken / Zusammenführen von Mastern einfach einen "Git-Pull-Ursprungs-Master" ausführen, um den Server-Master / Zusammenführen in den lokalen ausgecheckten Zweig zu ziehen?
user1172173

66

Wenn Ihre Niederlassung nur lokal ist und nicht auf den Server übertragen wurde, verwenden Sie

git rebase master

Andernfalls verwenden Sie

git merge master

18
Weil es den Festschreibungsverlauf ändert und Sie den geänderten Suchverlauf nicht auf den Server übertragen möchten.
Chetan

1
Wenn Sie ein SVN-Repository als Remote-Repository verwenden - über git svn-, git rebase masterist dies der richtige Weg, um einen linearen Verlauf zu führen, wie es SVN versteht.
Alondono

15

Sie können den Cherry-Pick verwenden, um die bestimmten Bugfix-Commits zu erhalten.

$ git checkout branch
$ git cherry-pick bugfix

Funktioniert der Cherry-Pick nur, wenn Bugfix ein Zweig war, der wieder in Master zusammengeführt wurde?
Prasith Govin

1
Sie können Cherry-Pick auswählen, aber nach dem Zusammenführen des Zweigs mit dem Master (wenn der Zweig fertig ist) wird das Fehlerbehebungs-Commit zweimal im Verlauf ausgeführt.
Gauthier

0

Wenn Sie nur möchten, dass die Fehlerbehebung in den Zweig integriert wird, git cherry-pickdie entsprechenden Commits.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.