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?

2voto

Iyashi Punkte 482

Eine andere Möglichkeit ist die folgenden Dateien umbenennen :

  1. Navigieren Sie zu Ihrem Projektverzeichnis.
  2. Umbenennen .git/refs/head/[branch-name] a .git/refs/head/new-branch-name .
  3. Umbenennen .git/refs/remotes/[all-remote-names]/[branch-name] a .git/refs/remotes/[all-remote-names]/new-branch-name .

Umbenennen Kopf und Fernbedienungen beide auf Ihrem lokalen PC y auf Herkunfts-/Remoteserver(n).

Der Zweig ist jetzt umbenannt (lokal und remote!)


Achtung

Wenn Ihr derzeitiger branch-name enthält Schrägstriche ( / ) Git erstellt die Verzeichnisse wie folgt:

aktueller Zweig-Name: "awe/some/branch"

  • .git/refs/head/awe/some/branch
  • .git/refs/remotes/[all-remote-names]/awe/some/branch

Wunsch-Zweig-Name: "new-branch-name"

  1. Navigieren Sie zu Ihrem Projektverzeichnis.
  2. Kopieren Sie die branch Datei von .git/refs/*/awe/some/ .
  3. Legen Sie es in .git/refs/head/ .
  4. Kopieren Sie die branch Datei aus allen .git/refs/remotes/*/awe/some/ .
  5. Legen Sie sie in .git/refs/remotes/*/ .
  6. Umbenennen aller kopierten branch Dateien zu new-branch-name .
  7. Prüfen Sie, ob die Verzeichnis- und Dateistruktur nun wie folgt aussieht:
  • .git/refs/head/new-branch-name
  • .git/refs/remotes/[all-remote-names]/new-branch-name
  1. Führen Sie das Gleiche auf allen Ihren entfernten Ursprüngen/Servern durch (falls vorhanden)
  • Infos Auf Remote-Servern gibt es normalerweise keine refs/remotes/*-Verzeichnisse, da man sich bereits auf dem Remote-Server befindet ;) (Nun, vielleicht ist es in fortgeschrittenen Git-Konfigurationen möglich, aber ich habe das noch nie gesehen)

Der Zweig wird nun umbenannt von awe/some/branch a new-branch-name (lokal und remote!)

Verzeichnisse in branch-name wurden entfernt.


Informationen: Diese Methode ist vielleicht nicht die beste, aber sie funktioniert für Menschen, die mit den anderen Methoden Probleme haben

1voto

KyleMit Punkte 34627

Branch Rename ist jetzt über die GitHub API verfügbar

Sie können einen Zweig mit der GitHub REST API umbenennen .

Und Sie können leicht Führen Sie API-Befehle über die gh CLI alle so:

gh api "repos/{owner}/{repo}/branches/{branch}/rename" -f new_name={newBranch}

1voto

SherylHohman Punkte 14230

In meinem Fall brauchte ich einen zusätzlichen Befehl,

git branch --unset-upstream

um meinen umbenannten Zweig nach oben zu bringen origin newname .

(Zur Erleichterung der Schreibarbeit), habe ich zunächst git checkout oldname . Führen Sie dann Folgendes aus:

git branch -m newname <br/> git push origin :oldname *or* git push origin --delete oldname
git branch --unset-upstream
git push -u origin newname o git push origin newname

Dieser zusätzliche Schritt ist vielleicht nur deshalb notwendig, weil ich die Fernverfolgung in meinen Zweigstellen (meistens) über git push -u origin oldname . Auf diese Weise kann ich, wenn ich oldname gecheckt habe, muss ich anschließend nur noch eingeben git push statt git push origin oldname .

Wenn ich das tue no Verwenden Sie den Befehl git branch --unset-upstream vor git push origin newbranch , Git erstellt neu. oldbranch und schiebt newbranch a origin oldbranch -- meine Absicht zu vereiteln.

1voto

Daniel Kobe Punkte 8499

Dieser Artikel zeigt, wie das ganz einfach geht.

  1. Um einen lokalen Git-Zweig umzubenennen, können wir den Befehl Git branch -m verwenden, um den Namen zu ändern:

     git branch -m feature1 feature2
  2. Wenn Sie nur nach dem Befehl zum Umbenennen eines entfernten Git-Zweigs suchen, ist dies der richtige Befehl:

     git push -u origin feature2:feature3

    Vergewissern Sie sich vorher, dass der Zweig keine Markierungen aufweist. Sie können dies mit git tag .

-1voto

Pooja Mane Punkte 457

Die folgenden Befehle benennen den Zweig lokal um, löschen den alten Zweig am entfernten Standort und pushen den neuen Zweig, wobei der lokale Zweig so eingestellt wird, dass er dem neuen entfernten Zweig folgt:

git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch

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