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?
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?
Entfernen Sie einfach den alten Zweig und erstellen Sie einen neuen.
Beispiel (nur Umbenennung des entfernten Zweigs):
git push origin :refs/heads/oldname
git push origin newname:refs/heads/newname
Wahrscheinlich sollten Sie auch den lokalen Zweig umbenennen und die Einstellungen für die Push-/Pull-Funktion ändern.
Auf der GitHub-Seite können Sie die neue (Jan. 2021) " Unterstützung für die Umbenennung eines bestehenden Zweigs " (geschützte Zweige können nur von Administratoren umbenannt werden, siehe Ende)
Folgen Sie dieser Anleitung: https://docs.github.com/en/github/administering-a-repository/renaming-a-branch
Siehe " Wie benenne ich einen Zweig auf der GitHub-Website um? ".
Dies ist ein besserer Ansatz, da die Umbenennung eines Zweigs auf diese Weise (auf github.com) ( Quelle ):
Update Dez. 2021:
Umbenennung geschützter Zweige auf Administratoren beschränken
Jetzt können nur noch Administratoren Zweige umbenennen, die durch Zweigschutzregeln geschützt sind.
GitHub erlaubt es Repository-Mitarbeitern, jeden Branch eines Repositorys umzubenennen, mit Ausnahme des Standard-Branches.
Wenn ein Mitwirkender einen Zweig umbenennt, werden alle Regeln zum Schutz von Zweigen ohne Platzhalter, die für diesen Zweig gelten, ebenfalls an den neuen Namen des Zweigs angepasst.
Da nur Administratoren die Regeln für den Zweigschutz ändern können, ist die Umbenennung eines geschützten Zweigs jetzt auf Admin-Benutzer beschränkt.
Weitere Informationen finden Sie unter Umbenennen eines Zweigs y Verwaltung einer Zweigschutzregel .
So einfach ist das . Um einen Git-Zweig lokal und per Fernzugriff umzubenennen, verwenden Sie dieses Snippet (getestet und funktioniert einwandfrei):
git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>
Erläuterung:
Git-Referenz: Mit der Option -m oder -M wird <alter Zweig> in <neuer Zweig> umbenannt. Wenn <alterZweig> ein entsprechendes Reflog hatte, wird es umbenannt, um mit <neuerZweig> umbenannt, und es wird ein Reflog-Eintrag erstellt, um die Umbenennung zu erinnern. Wenn <neuerZweig> existiert, muss -M verwendet werden, um die Umbenennung zu erzwingen zu erzwingen.
Git-Referenz: git push origin :experimental Finden Sie eine Referenz, die mit experimental in dem ursprünglichen Repository (z. B. refs/heads/experimental) und löschen Sie es.
Git-Referenz: --set-upstream Für jeden Zweig, der auf dem neuesten Stand ist oder erfolgreich gepusht wurde, füge eine Upstream-Referenz (Tracking) hinzu, die von argument-less git-pull[1] und anderen Befehlen verwendet wird. Für weitere Informationen siehe branch.<Name>.merge in git-config[1].
Dies ist eine zusätzliche Bedingung in Hazarapet Tunanyan's Antwort.
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
# You might be getting an error doing the above step, skip to the next step
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
Sie erhalten einen Fehler, wenn Sie git push origin :old_branch
denn alte_Zweigstelle die Sie zu löschen versuchen, könnte die Standard-Zweigstelle .
Führen Sie einfach die anderen 2 Schritte aus und ändern Sie dann in den Einstellungen von github die Standardverzweigung, dann können Sie Folgendes tun git push origin :old_branch
.
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.