417 Stimmen

Umbenennen eines Zweigs in GitHub

Ich habe gerade meinen lokalen Zweig umbenannt mit

git branch -m oldname newname

aber dies benennt nur die lokale Version des Zweigs um. Wie kann ich die Version auf GitHub umbenennen?

392voto

Adam Parkin Punkte 16245

Wie bereits erwähnt, löschen Sie die alte Datei auf GitHub und pushen Sie sie erneut, wobei die verwendeten Befehle etwas ausführlicher sind als nötig:

git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local

Wenn man die Befehle ein wenig zerlegt, ist die git push Befehl ist im Wesentlichen:

git push <remote> <local_branch>:<remote_branch>

Ein Push ohne die Angabe von local_branch bedeutet also im Wesentlichen: "Nimm nichts aus meinem lokalen Repository und mache es zum entfernten Branch". Ich habe das immer für völlig unlogisch gehalten, aber so ist es nun mal gemacht.

Ab dem Git 1.7 gibt es eine alternative Syntax für das Löschen eines entfernten Zweigs:

git push origin --delete name_of_the_remote_branch

Wie von @void.pointer in den Kommentaren erwähnt

Beachten Sie, dass Sie die 2 Push-Vorgänge kombinieren können:

git push origin :old_branch new_branch

Dadurch wird sowohl der alte Zweig gelöscht als auch der neue Zweig gepusht.

Dies kann in einen einfachen Alias umgewandelt werden, der den entfernten, ursprünglichen Zweig und den Namen des neuen Zweigs als Argumente nimmt, in ~/.gitconfig :

[alias]
    branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"

Verwendung:

git branchm origin old_branch new_branch

Beachten Sie, dass Positionsargumente in Shell-Befehlen in älteren (vor 2.8?) Versionen von Git problematisch waren, so dass der Alias je nach Git-Version variieren kann. Siehe diese Diskussion をご覧ください。

59voto

Taimoor Changaiz Punkte 9228

Die folgenden Befehle haben bei mir funktioniert:

git push origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git push origin new-name-for-branch-you-want

42voto

Hazarapet Tunanyan Punkte 2711

Ich habe drei Befehle gefunden, mit denen Sie den Namen Ihres Git-Zweigs ändern können, und diese Befehle sind ein schnellerer Weg, dies zu tun:

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

Wenn Sie eine Schritt-für-Schritt-Anleitung benötigen, können Sie diesen großartigen Artikel lesen:

Umbenennen von lokalen und entfernten Git-Zweigen

26voto

Zweige in Git lokal und remote umbenennen

1. Benennen Sie Ihre lokale Zweigstelle um.

Wenn Sie sich in dem Zweig befinden, den Sie umbenennen möchten:

git branch -m new-name

Wenn Sie sich in einer anderen Filiale befinden:

git branch -m old-name new-name

2. Löschen Sie den entfernten Zweig mit dem alten Namen und pushen Sie den lokalen Zweig mit dem neuen Namen.

git push origin :old-name new-name

3. Setzen Sie den Upstream-Zweig für den lokalen Zweig mit dem neuen Namen zurück.

Wechseln Sie zum Zweig und dann:

git push origin -u new-name

Die Schlussfolgerung lautet also:

git branch -m new-name
git push origin :old-name new-name
git push origin -u new-name

17voto

rneves Punkte 1935

Sie können das auch ohne das Terminal tun. Sie müssen nur einen Zweig mit dem neuen Namen erstellen und den alten danach entfernen.

Eine Verzweigung erstellen

Geben Sie in der Zweigauswahl Ihres Repositorys einfach einen neuen Zweig ein Namen ein. Sie erhalten dann die Option, einen neuen Zweig zu erstellen:

Create a branch

Es wird von Ihrem aktuellen Kontext abzweigen. Zum Beispiel, wenn Sie auf dem Bugfix-Zweig befinden, wird ein neuer Zweig von Bugfix anstelle von master. Sehen Sie sich stattdessen einen Commit oder ein Tag an? Es verzweigt Ihren Code von dieser spezifischen Revision.

Einen Zweig löschen

Auf der Seite Verzweigungen Ihres Repositorys sehen Sie außerdem eine Schaltfläche zum Löschen:

Delete a branch

Als zusätzlichen Bonus erhalten Sie einen Link zur Pull-Seite der Niederlassung. Request, wenn es einen gibt.

Ich habe diesen Inhalt einfach kopiert und eingefügt: Zweige erstellen und löschen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X