2014-12-03 11 views
12

Wenn ich zwei Zweige verschmelzen und sie können nicht automatisch Github bietet diese Anweisungen zusammengefasst werden:Git Kasse -b, Filiale existiert bereits

Schritt 1: Projekt-Repository, bringen in den Änderungen und Test .

git fetch origin 
git checkout -b master origin/master 
git merge develop 

Schritt 2: Führen Sie die Änderungen und Aktualisierung auf GitHub.

git checkout develop 
git merge --no-ff master 
git push origin develop 

Aber in diesem Fall ist der Zweig master existiert bereits lokal, und die Linie git checkout -b master origin/master gibt diese Nachricht:

git checkout -b master origin/master 
fatal: A branch named 'master' already exists. 

Ist die richtige Sache in diesem Fall zu tun, dass die Linie mit ersetzen git checkout master? Ich habe mich das eine Weile gefragt, etwas besorgt darüber, was git checkout master im Gegensatz zu -b tun könnte.

Antwort

15

Wenn master nicht vorhanden ist, dann nach dieser Zeile

git checkout -b master origin/master 

master auf denselben ein Zweig zeigt, wie origin/master zu begehen sein.

Wenn Sie bereits einen master Zweig haben, könnte es mit origin/master veraltet sein, so einfach

git checkout master 

ist nicht genug zu schreiben. Sie werden auch

git merge origin/master 

danach zu bringen master auf dem neuesten Stand (in der Regel wird dies nur ein Vorspulen) ausgeführt werden sollen.

+1

Sie können auch '--ff-only' hinzufügen, um * nur * vorzuspulen und auszusteigen, anstatt einen Zusammenführungs-Commit zu erstellen – krd

Verwandte Themen