Wenn Sie einen Zweig umbenennen möchten, während Sie auf einen Zweig zeigen, gehen Sie wie folgt vor:
git branch -m <oldname> <newname>
Wenn Sie den aktuellen Zweig umbenennen möchten, haben Sie folgende Möglichkeiten:
git branch -m <newname>
Eine Möglichkeit, sich daran zu erinnern, ist -m
"Verschieben" (oder mv
), mit dem Sie Dateien umbenennen. Das Hinzufügen eines Alias könnte ebenfalls hilfreich sein. Führen Sie dazu Folgendes aus:
git config --global alias.rename 'branch -m'
Wenn Sie unter Windows oder einem anderen Dateisystem arbeiten, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, und der Name nur durch Groß- und Kleinschreibung geändert wird, müssen Sie ihn verwenden -M
. Andernfalls löst git einen bereits vorhandenen Verzweigungsfehler aus :
git branch -M <newname>
git push -f --mirror
, wird der Zweig auf der Fernbedienung umbenannt. Sie sollten diese Methode jedoch nur verwenden, wenn die Fernbedienung lediglich eine Kopie Ihres aktuellen Repositorys sein soll. Siehe auch diese Frage: stackoverflow.com/questions/1526794/git-rename-remote-branchpush.default
konfiguriert ist. Standardmäßig (matching
) wird auf eine Fernbedienung übertragen, deren Name übereinstimmt. Sie müssten dies tun,git push origin <newname>:<oldname>
oder Sie erstellen einen neuen Remote-Zweig. Wenn diespush.default
jedoch eingestellt istupstream
, können Siepush origin head
und der alte Name wird auf der Fernbedienung angezeigt.mv
Dateien umbenannt werden. Der Grund dafür ist, dass das Verschieben und Umbenennen in einem verzeichnisbasierten Inode-Dateisystem völlig gleichwertig ist.-m
Option lautet--move
z. B.git branch --move master
Benennt den aktuellen Zweig in "Master" um.Der obige Befehl ändert Ihren Zweigstellennamen, aber Sie müssen sehr vorsichtig sein, wenn Sie den umbenannten Zweig verwenden, da er weiterhin auf den alten Upstream-Zweig verweist, der ihm zugeordnet ist, falls vorhanden.
Wenn Sie einige Änderungen in den Master übertragen möchten, nachdem Ihr lokaler Zweig in new_branch_name (Beispielname) umbenannt wurde:
git push origin new_branch_name:master
(Jetzt werden die Änderungen in den Hauptzweig übernommen, aber Ihr lokaler Zweigstellenname lautet new_branch_name.)Weitere Informationen finden Sie unter " So benennen Sie Ihren lokalen Zweigstellennamen in Git um ."
quelle
So benennen Sie Ihren aktuellen Zweig um:
quelle
Hier sind die Schritte zum Umbenennen des Zweigs:
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
BEARBEITEN (01.12.2017): Stellen Sie sicher, dass Sie den Befehl ausführen
git status
und überprüfen, ob der neu erstellte Zweig auf seine eigene Referenz zeigt und nicht auf die ältere. Wenn Sie den Verweis auf den älteren Zweig finden, müssen Sie den Upstream deaktivieren, indem Sie:quelle
Das Umbenennen des Zweigs ist hilfreich, sobald Ihr Zweig fertig ist. Dann kommt neues Material, und Sie möchten im selben Zweig entwickeln, anstatt es zu löschen und das neue zu erstellen.
Nach meiner Erfahrung sollten Sie die folgenden Schritte ausführen, um einen lokalen und Remote-Zweig in Git umzubenennen.
1. Benennen Sie Ihre lokale Niederlassung um
Wenn Sie sich in der Filiale befinden, die Sie umbenennen möchten:
Wenn Sie sich in einem anderen Zweig befinden:
2. Löschen Sie den Remote-Zweig mit dem alten Namen und drücken Sie den lokalen Zweig mit dem neuen Namen
3. Setzen Sie den Upstream-Zweig für den lokalen Zweig mit dem neuen Namen zurück
quelle
error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
git push origin :old-name new-name
richtig?Die Antworten waren bisher richtig, aber hier sind einige zusätzliche Informationen:
Man kann einen Zweig sicher mit '-m' (move) umbenennen, aber man muss mit '-M' vorsichtig sein, da er das Umbenennen erzwingt, selbst wenn bereits ein Zweig mit demselben Namen vorhanden ist. Hier ist der Auszug aus der Manpage 'git-branch':
quelle
-M
Flagge ist auch nützlich , um eine Umbenennungs zu erzwingen , wenn Sie nur den Fall des Zweignamen zu korrigieren, zB WechselmyBranch
zuMyBranch
. (Mit-m
, Git kehrt zurückfatal: A branch named 'MyBranch' already exists.
)1. Umbenennen
Wenn es Ihre aktuelle Niederlassung ist, tun Sie es einfach
Wenn es sich um einen anderen Zweig handelt, den Sie umbenennen möchten
2. Verfolgen Sie einen neuen Remote-Zweig
- Wenn Ihr Zweig gepusht wurde, müssen Sie ihn nach dem Umbenennen aus dem Remote-Git-Repository löschen und Ihren neuen lokalen Benutzer bitten, einen neuen Remote-Zweig zu verfolgen:
quelle
Ich habe dummerweise einen Zweig benannt, der mit einem Bindestrich beginnt, und dann den Master ausgecheckt. Ich wollte nicht löschen meinen Zweig , ich hatte Arbeit darin.
Keines davon funktionierte:
git checkout -dumb-name
git checkout -- -dumb-name
"
s,'
s und\
s haben auch nicht geholfen.git branch -m
funktioniert nichtHier ist, wie ich es endlich behoben habe. Gehen Sie in die .git / refs / Heads Ihrer Arbeitskopie, suchen Sie den Dateinamen "-dumb-name" und holen Sie sich den Hash des Zweigs. Dann wird dies überprüft, ein neuer Zweig mit einem vernünftigen Namen erstellt und der alte gelöscht.
quelle
reflog
So benennen Sie einen Zweig lokal um:
Jetzt müssen Sie diese Änderungen auch auf Ihrem Remote-Server weitergeben.
So verschieben Sie Änderungen des gelöschten alten Zweigs:
So ändern Sie Änderungen bei der Erstellung eines neuen Zweigs:
quelle
Nur drei Schritte, um die Namensänderung sowohl auf
remote
als auch auf GitHub zu replizieren :Schritt 1
git branch -m old_branchname new_branchname
Schritt 2
git push origin :old_branchname new_branchname
Schritt 3
git push --set-upstream origin new_branchname
quelle
git push --set-upstream origin new_branchname
die in @Nomade Antwort erwähnt wirdBenennen Sie den Zweig mit diesem Befehl um:
-m
: Der Zweig wird umbenannt / verschoben. Wenn bereits eine Verzweigung vorhanden ist, wird eine Fehlermeldung angezeigt.Wenn bereits ein Zweig vorhanden ist und Sie diesen Zweig umbenennen möchten, verwenden Sie:
Verwenden Sie diesen Befehl im Terminal, um weitere Informationen zur Hilfe zu erhalten:
oder
quelle
Fortgeschrittene Git-Benutzer können manuell umbenennen, indem sie:
quelle
Wenn Sie sich in der Filiale befinden, die Sie umbenennen möchten:
Wenn Sie sich in einem anderen Zweig befinden:
git push origin :old-name new-name
git push origin -u new-name
Oder für einen schnellen Weg, dies zu tun, können Sie diese 3 Schritte verwenden:
# Zweig lokal umbenennen
# Löschen Sie den alten Remote-Zweig
# Drücken Sie auf den neuen Zweig und stellen Sie den lokalen Zweig so ein, dass die neue Fernbedienung verfolgt wird
Referenz: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
quelle
Hier sind drei Schritte: Ein Befehl, den Sie in Ihrem Terminal aufrufen und den Filialnamen ändern können.
Wenn Sie mehr benötigen: Schritt für Schritt, So ändern Sie den Git-Zweignamen ein guter Artikel dazu.
quelle
Wahrscheinlich wird dies, wie von anderen erwähnt, bei der Benennung von Zweigen nicht übereinstimmen.
Wenn Sie eine solche Situation haben, kann ich davon ausgehen, dass Sie unter Windows arbeiten, was Sie auch zu folgenden Ergebnissen führt:
Dann müssen Sie einen Zwischenschritt machen:
Nichts mehr.
quelle
-M
anstatt sie-m
umzubenennen.Der Versuch, speziell auf die Frage zu antworten (zumindest den Titel).
Sie können den lokalen Zweig auch umbenennen , verfolgen jedoch weiterhin den alten Namen auf der Fernbedienung.
Wenn Sie jetzt ausführen
git push
, wird die Remote-old_branch
Referenz mit Ihrem lokalen aktualisiertnew_branch
.Sie müssen diese Konfiguration kennen und sich daran erinnern . Aber es kann nützlich sein, wenn Sie nicht die Wahl für den Namen der Gegenstelle haben, aber es Ihnen nicht gefällt (oh, ich meine, Sie haben eine sehr gute Grund, ihn nicht zu mögen!) Und einen klareren bevorzugen Name für Ihre lokale Niederlassung.
Wenn Sie mit der Abrufkonfiguration spielen, können Sie sogar die lokale Fernreferenz umbenennen. dh ein mit
refs/remote/origin/new_branch
ref Zeiger auf den Zweig, ist diese Tatsache in demold_branch
auforigin
. Ich rate jedoch dringend davon ab, um die Sicherheit Ihres Geistes zu gewährleisten.quelle
Zweig lokal ändern ist ganz einfach ...
Wenn Sie sich in der Filiale befinden, für die Sie den Namen ändern möchten, gehen Sie einfach folgendermaßen vor:
Andernfalls, wenn Sie sich befinden
master
oder andere Zweig andere als die , wenn Sie möchten , den Namen ändern, einfach tun:Außerdem erstelle ich das folgende Bild, um dies in einer Befehlszeile in Aktion zu zeigen . In diesem Fall befinden Sie sich in einer
master
Verzweigung, zum Beispiel:quelle
Wenn Sie bereit sind, SourceTree zu verwenden (was ich dringend empfehle), können Sie mit der rechten Maustaste auf Ihren Zweig klicken und "Umbenennen" auswählen.
quelle
Um den aktuellen Zweig umzubenennen (mit Ausnahme des getrennten HEAD-Status), können Sie auch diesen Alias verwenden:
quelle
Eine andere Möglichkeit besteht darin, die Befehlszeile überhaupt nicht zu verwenden. Git-GUI-Clients wie SourceTree nehmen einen Großteil der syntaktischen Lernkurve / des Schmerzes weg, die dazu führen, dass Fragen wie diese zu den am häufigsten bei Stack Overflow angezeigten gehören.
Klicken Sie in SourceTree mit der rechten Maustaste auf einen lokalen Zweig im Bereich "Zweige" links und wählen Sie "Umbenennen ...".
quelle
Ein einfacher Weg, dies zu tun:
Weitere Informationen finden Sie hier .
quelle
Da Sie den Zweig nicht auf einen Remote-Server übertragen möchten, ist dieses Beispiel hilfreich:
Angenommen, Sie haben einen vorhandenen Zweig mit dem Namen "my-hot-feature" und möchten ihn in "feature-15" umbenennen.
Zunächst möchten Sie Ihre lokale Niederlassung ändern. Einfacher geht es nicht:
Weitere Informationen finden Sie unter Lokales und Remote-Umbenennen eines Zweigs in Git .
quelle
Git Version 2.9.2
Wenn Sie den Namen der lokalen Niederlassung ändern möchten, in der Sie sich befinden:
Wenn Sie den Namen eines anderen Zweigs ändern möchten:
Wenn Sie den Namen eines anderen Zweigs in einen bereits vorhandenen Namen ändern möchten:
Hinweis: Der letzte Befehl ist destruktiv und benennt Ihren Zweig um. Sie verlieren jedoch den alten Zweig mit diesem Namen und diesen Commits, da die Zweignamen eindeutig sein müssen.
quelle
Wenn Sie den Namen des aktuellen Zweigs ändern möchten, führen Sie Folgendes aus:
Wenn Sie den alten Remote-Zweig löschen möchten, führen Sie Folgendes aus:
Wenn Sie den alten Remote-Zweig löschen und einen neuen Remote-Zweig erstellen möchten, führen Sie Folgendes aus:
quelle
Das Umbenennen des Git-Zweigs kann erfolgen mit:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Der Unterschied zwischen -m und -M :
-m: Wenn Sie versuchen, Ihren Zweig mit -m mit einem vorhandenen Zweignamen umzubenennen . Es wird ein Fehler ausgegeben, der besagt, dass der Zweig bereits vorhanden ist. Sie müssen einen eindeutigen Namen angeben.
Aber,
-M: Dies hilft Ihnen, das Umbenennen mit einem bestimmten Namen zu erzwingen, auch wenn dieser vorhanden ist. Ein bestehender Zweig wird also vollständig damit überschrieben ...
Hier ist ein Beispiel für ein Git-Terminal:
quelle
Für Git-GUI-Benutzer könnte es nicht viel einfacher sein. Wählen Sie in der Git-GUI den Zweigstellennamen aus der Dropdown-Liste im Dialogfeld "Zweig umbenennen", das über den Menüpunkt Zweig: Umbenennen erstellt wurde, geben Sie einen neuen Namen ein und klicken Sie auf "Umbenennen". Ich habe hervorgehoben, wo sich die Dropdown-Liste befindet.
quelle
Wenn du möchtest:
git branch -m <oldname> <newname>
git push origin: old-name new-name
git commit <newname>
git push origin new_branch_name:master
git status
git checkout
quelle
Alle vorherigen Antworten sprechen über
git branch -m
. Natürlich ist es einfach zu bedienen, aber für mich kann es etwas schwierig sein, sich an einen anderen Git-Befehl zu erinnern. Also habe ich versucht, die Arbeit mit dem mir bekannten Befehl zu erledigen. Ja, Sie können es erraten.Ich benutze
git branch -b <new_branch_name>
. Und wenn Sie den alten Zweig jetzt nicht speichern möchten, können Sie ihn ausführengit branch -D <old_branch_name>
, um ihn zu entfernen.Ich weiß, dass es ein bisschen langweilig sein mag, aber es ist einfacher zu verstehen und sich zu erinnern. Ich hoffe es ist hilfreich für dich.
quelle
In PhpStorm:
VCS → Git → Zweige ... → Lokale Zweige → _Ihre_Zweig_ → Umbenennen
quelle
Alles was Sie tun müssen, sind die drei Schritte:
quelle