Wie benenne ich einen lokalen Git branch?
Möchte ich nicht benennen Sie ein remote-branch, wie beschrieben in Rename master-branch wird für lokale und remote-Git-repositories.
Wie kann ich das umbenennen einer lokalen Niederlassung, die bisher nicht geschoben, um einen remote-branch?
In Fall müssen Sie umbenennen remote Branche sowie:
Wie benenne ich die beiden ein Git lokalen und remote-branch name
InformationsquelleAutor Forrest | 2011-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, benennen Sie einen Zweig, während Sie wies auf eine Verzweigung, do:
Wenn Sie möchten, benennen Sie die aktuellen Zweig, die Sie tun können:
Einen Weg, sich daran zu erinnern, ist
-m
ist für "verschieben" (odermv
), das ist, wie Sie Dateien umbenennen.es wird fügen Sie den neuen Zweig, wenn Sie schieben, aber nicht löschen Sie die alte Filiale. Wenn Sie
git push -f --mirror
, dann wird es benennen Sie die Filiale auf der Fernbedienung, aber Sie sollten diese Methode nur verwenden, wenn die Fernbedienung einfach um eine Kopie des aktuellen repository. Siehe auch diese Frage: stackoverflow.com/questions/1526794/git-rename-remote-branches hängt davon ab, wie
push.default
konfiguriert ist. Standardmäßig (matching
) es wird push zu einem remote-deren Namen entspricht. Sie würden zu tun habengit push origin <newname>:<oldname>
oder erstellen Sie eine neue remote-branch. Allerdings, wennpush.default
eingestellt istupstream
, dann können Siepush origin head
und Dinge gehen zu oldname auf der Fernbedienung.das -m ist wahrscheinlich die Abkürzung für "bewegen", im Anschluss an die Unix-Konvention verwenden Sie die
mv
zum umbenennen von Dateien. Der Grund dafür ist, dass das verschieben und umbenennen, in einem Verzeichnis-inode-basierten Datei-system, sind völlig gleichwertig.Der lange name des
-m
option ist--move
, z.B.git branch --move master
benennt den aktuellen branch namens "master".InformationsquelleAutor siride
Dem obigen Befehl wird ändern Ihre Niederlassung haben Namen, aber Sie müssen sehr vorsichtig sein mit dem Zweig umbenannt, weil es immer noch auf die alte upstream-Zweig zugeordnet, wenn überhaupt.
Wenn Sie schieben wollen, einige änderungen in den master nach Ihrem lokalen Zweig ist umbenannt in new_branch_name (Beispiel-name):
git push origin new_branch_name:master
(jetzt änderungen werden zum master-branch, aber Ihre lokale Niederlassung name ist new_branch_name)Weitere Informationen finden Sie unter "So benennen Sie Ihren lokalen branch-Namen im Git."
InformationsquelleAutor Madhan Ayyasamy
Umbenennen aktuellen branch:
InformationsquelleAutor Jonathan
Hier sind die Schritte zum umbenennen der Branche:
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
BEARBEITEN (12/01/2017): Stellen Sie sicher, dass Sie den Befehl ausführen
git status
und überprüfen Sie, dass die neu erstellte Zweig verweist auf seine eigenen ref-und nicht die älteren. Wenn Sie finden den Verweis auf den älteren Zweig, benutzen Sie unset upstream mit:ja. nach Schritt 4. Aber stellen Sie sicher, dass git status zu überprüfen, ob seine hat Verweis auf alte Filiale.
InformationsquelleAutor Milind Anantwar
Benennen Sie die Branche wird nützlich sein, sobald Ihr Zweig ist beendet. Dann neues Zeug kommen wird, und Sie möchten, zu entwickeln, in der gleichen Branche, anstatt es zu löschen und anlegen eines neuen.
Aus meiner Erfahrung, umbenennen von lokalen und remote-branch im Git sollten Sie die folgenden Schritte aus.
1. Benennen Sie Ihre lokale Niederlassung
Wenn Sie auf den Zweig, den Sie umbenennen möchten:
Wenn Sie auf einen anderen Zweig:
2. Löschen Sie den alten Namen den remote-branch und schieben Sie den neuen Namen in der lokalen Zweigstelle
3. Reset-upstream-branch für den neuen Namen in der lokalen Zweigstelle
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'
Hast du das problem, wenn Sie den Befehl ausführen
git push origin :old-name new-name
Recht?Ja genau (sorry, ich meinte "2. Schritt", nicht "2 Schritte", -- müde)
InformationsquelleAutor trungk18
Die Antworten bisher richtig gewesen, aber hier einige zusätzliche Informationen:
Kann man benennen Sie einen Zweig mit '-m' (bewegen), aber man muss vorsichtig sein, weil 'M'- Kräfte, die Sie umbenennen, selbst wenn es einen bestehenden branch mit dem selben Namen bereits. Hier der Auszug aus dem "git-branch" Mann von Seite:
>
Mit -m oder -M option
<oldbranch>
umbenannt werden<newbranch>
. Wenn<oldbranch>
hatte eine entsprechende reflog, es wird in übereinstimmung<newbranch>
, und ein reflog-Eintrag erstellt, daran zu erinnern, Zweig umbenennen. Wenn<newbranch>
existiert, -M muss verwendet werden, um die Kraft der Umbenennung passieren.Es ist überschrieben durch die neuen Namen/Zweig. Zum Beispiel, wenn Sie die folgenden Verzweigungen git: master b1 <-- aktuellen branch b2, nachdem Sie 'git branch -M-b2', die Sie nur haben: master b2 <-- current-Zweig von b1 verschwunden sein, und wenn Sie wiederherstellen möchten, Sie sollten überprüfen Sie es heraus, durch seinen hash. Sie können sehen, es durch Eingabe von "git reflog'. Cheers.
Die
-M
Flagge ist auch nützlich, um force umbenennen, wenn Sie nur korrigiert wird, wie der Fall des branch-name, z.B. änderungmyBranch
zuMyBranch
. (Mit-m
, git zurückfatal: A branch named 'MyBranch' already exists.
)InformationsquelleAutor Vanchev
1. Umbenennen
, Wenn es Ihren current-Zweig, nur
, Wenn es ist ein weiterer Zweig, den Sie umbenennen möchten
2. Track eine neue remote-branch
- Wenn Ihr Zweig geschoben wurde, dann nach dem umbenennen müssen Sie löschen Sie es aus dem remote Git-repository und stellen Sie Ihre neue lokale zu verfolgen, eine neue remote-branch:
InformationsquelleAutor Oss
Habe ich dummerweise den Namen einer Filiale, beginnend mit einem Bindestrich, und dann ausgecheckt master. Ich wollte nicht löschen meinem Zweig, ich hatte in ihm zu arbeiten.
Beide nicht funktioniert:
git checkout -dumb-name
git checkout -- -dumb-name
"
s'
s und\
s hat auch nicht geholfen.git branch -m
funktioniert nicht.Hier ist, wie ich endlich behoben. Gehen Sie in Ihre Arbeitskopie .git/refs/heads, finden Sie den Dateinamen "-dumm-name", der hash-Wert von dem Zweig. Dieser wird dann überprüfen Sie es heraus, machen Sie einen neuen Zweig mit einem vernünftigen Namen, und löschen Sie die alte.
Dito. Wenn Sie Graben müssen, um in die Verzeichnis-Struktur zu tun, diese Magie, den ganzen Weg gehen und auf "mv -- -dumm-Namen brilliant-name' Tun 'git branch -av' und Sie werden sehen, eine Verzeichnis-Struktur .git/refs. Oder vielleicht 'grep -R ^ .git/refs', um zu sehen, die hashes direkt.
Sie könnte wahrscheinlich verwendet haben
reflog
Ganz ehrlich, wenn das ist die route, die Sie nehmen wollte, würde ich vermeiden, die (IMO verwirrend und potenziell gefährlich, wenn Sie nicht wissen, was Sie tun) - Spritztour durch .git-Verzeichnis an die erste Stelle setzen und tun Sie es einfach mit einigen normalen Befehle mit einem "git log" zu analysieren (mit entsprechenden Flaggen zu zeigen, die Zweige, und um herauszufinden, welche shasum Sie möchten Auschecken einen neuen Zweig von), und dann tun Sie es. Dann entfernen Sie die wonky-namens Zweig. Ich verachten , git besteht darauf, dass Sie brauchen, um zu verstehen, all Ihr Innenleben, einige Dinge zu tun, aber sehr zu schätzen, dass Sie kann diese Dinge.
Es ist schwieriger zu erstellen, ein Zweig mit einem schlechten Namen in 2.10.1+. Wenn Sie irgendwie tun Sie es, können Sie mithilfe von git branch-v zu Holen Sie sich die kurze hash-version Ihrer Zweige(add-r für remote). Sie können dann mit git rev-parse <shorthash> um den vollen hash, wenn Sie es brauchen.
InformationsquelleAutor Samuel Meacham
Umbenennen einer Niederlassung vor Ort:
Nun müssen Sie weitergeben dieser änderungen auf den remote-server als auch.
Push von änderungen der gelöschten alten Zweig:
Push von änderungen der Bildung der neuen Niederlassung:
InformationsquelleAutor aliasav
Benennen Sie den Zweig mit diesem Befehl:
-m
: Es umbenennt/verschiebt den Zweig. Wenn es bereits eine Filiale, erhalten Sie eine Fehlermeldung.Wenn es bereits eine Niederlassung und, die Sie umbenennen möchten mit diesem Zweig verwenden:
Weitere Informationen über die Hilfe verwenden Sie diesen Befehl in das terminal:
oder
InformationsquelleAutor Hafiz Shehbaz Ali
Umbenennen Branche:
Hier der lange name des
-m
option ist--move
. So können wir auch:Wenn Sie möchten, benennen Sie die aktuellen Zweig, dann verwenden Sie diesen:
oder
Wenn Sie möchten, um diese änderungen an der Fernbedienung, dann verwenden Sie die folgende.
Dieser löscht die
old_branchname
remote-branch und pushen dienew_branchname
Ortsverbandes.Dieser setzt den upstream-branch für den
new_branchname
Ortsverbandes.InformationsquelleAutor Ajmal sha
Fortgeschrittene Git-Benutzer umbenennen können manuell mit:
InformationsquelleAutor Jethik
Wenn Sie auf den Zweig, den Sie umbenennen möchten:
Wenn Sie auf einen anderen Zweig:
git push origin :old-name new-name
Wechseln Sie in den Zweig und dann:
git push origin -u new-name
Oder für einen schnellen Weg, dies zu tun, können Sie mit diesen 3 Schritten:
# Rename branch lokal
# Löschen der alten remote-branch
# Push die neue Niederlassung, legen Sie die lokale Niederlassung zu verfolgen, die neue remote -
Referenz: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
InformationsquelleAutor badarshahzad
Hier sind drei Schritte: Einen Befehl, dass Sie rufen Sie in Ihrem terminal und ändern branch name.
Wenn du mehr brauchst:-Schritt-für-Schritt So Ändern Sie Git Branch Name ist ein guter Artikel darüber.
InformationsquelleAutor Hazarapet Tunanyan
Wahrscheinlich wie von anderen erwähnt, dies wird ein Fall von Fehlanpassung in der Abteilung zu benennen.
Wenn du so eine situation, ich kann mir vorstellen, dass Sie auf Windows, das wird auch dazu führen Sie zu:
Dann muss man einen Zwischenschritt:
Nichts mehr.
Alternativ können Sie
-M
statt-m
zu tun diese Art der "Hülle fix" umbenennen " in einem einzigen Schritt.InformationsquelleAutor P4C
Versuchen, Sie zu beantworten konkret die Frage (zumindest der Titel).
Können Sie auch umbenennen lokalen Zweig, aber verfolgt der alte name auf der Fernbedienung.
Nun, wenn Sie ausführen
git push
die remote -old_branch
ref aktualisiert wird, mit Ihrem lokalennew_branch
.Müssen Sie wissen, und denken Sie daran diese Konfiguration. Aber es kann nützlich sein, wenn Sie nicht die Wahl haben, die für die remote-branch-Namen, aber Sie mögen es nicht (oh, ich meine, du hast eine sehr gute Grund, Sie nicht zu mögen !) und bevorzugen eine eindeutigere Namen für Ihre lokale Niederlassung.
Spielen mit der fetch-Konfiguration können Sie sogar benennen Sie die lokalen remote-Referenz. ich.e, mit einem
refs/remote/origin/new_branch
ref Zeiger auf den Zweig, das ist in der Tat dieold_branch
auforigin
. Ich jedoch dringend davon abgeraten, diese, für die Sicherheit eures Geistes.InformationsquelleAutor Pierre-Olivier Vares
Wenn Sie bereit sind, verwenden Sie SourceTree (was ich stark empfehlen kann), können Sie mit der rechten klicken Sie auf Ihre Filiale und wählen Sie 'Umbenennen'.
InformationsquelleAutor Marcin Szymczak
Umbenennen dem aktuellen Zweig (außer für freistehende LEITER-Zustand) können Sie auch diese alias:
InformationsquelleAutor dentuzhik
Änderung der Zweig lokal ist ganz einfach...
Wenn Sie auf die Filiale, die Sie wollen, um den Namen zu ändern, einfach das zu tun diese:
Andernfalls, wenn Sie auf
master
oder jede andere Branche andere als die, die Sie möchten, um den Namen zu ändern, einfach das zu tun:Auch, ich erstelle das Bild unten, um die Karte in Aktion auf einem Befehlszeile. In diesem Fall sind Sie auf
master
Zweig, zum Beispiel:InformationsquelleAutor Alireza
Anderen option nicht, verwenden Sie den Befehl Linie. Git-GUI-clients wie SourceTree wegnehmen viel von der syntaktischen Lernkurve /Schmerzen, die bewirkt, dass Fragen wie diese werden unter den am meisten angesehen auf Stack Overflow.
In SourceTree, klicken Sie rechts auf jeder lokalen Niederlassung in den "Ästen" Bereich auf der linken Seite und wählen Sie "Umbenennen ...".
Stimmt, aber mit SourceTree, die ich kaum brauchen, um über die überprüfung der Dokumentation. Alles ist in der Regel intuitiv - klicken Sie einfach rechts auf und sehen, was die Optionen sind. (BTW ich bin nicht verbunden mit Ihnen in jedem Fall - genau wie das Werkzeug!)
InformationsquelleAutor Steve Chambers
Da Sie nicht wollen, um die push-Zweig zu einem remote-server, in diesem Beispiel nützlich sein wird:
Lassen Sie uns sagen, Sie haben einen vorhandenen Zweig namens "my-hot-Funktion", und Sie möchten, benennen Sie Sie in "-Funktion-15."
Ersten, die Sie wollen, ändern Sie Ihre lokale Niederlassung. Dies könnte nicht einfacher sein:
Weitere Informationen, besuchen Sie Lokal und Remote Umbenennen einer Branch in Git.
InformationsquelleAutor Tanah
Git-version 2.9.2
Wenn Sie möchten, ändern Sie den Namen der lokalen Niederlassung Sie sind auf:
Wenn Sie möchten, ändern Sie den Namen von einem anderen Zweig:
Wenn Sie möchten, ändern Sie den Namen von einem anderen Zweig zu einem Namen, der bereits vorhanden ist:
Hinweis: Der Letzte Befehl ist destruktiv und benennen Sie Ihre Niederlassung haben, aber Sie verlieren die alte Filiale mit diesem Namen und diesen verpflichtet, da branch-Namen müssen eindeutig sein.
InformationsquelleAutor nikkypx
Wenn Sie möchten, ändern Sie den Namen des aktuellen branch, Ausführung:
Wenn Sie möchten, löschen Sie die alte remote-Zweig ausgeführt:
Wenn Sie möchten, löschen Sie die alte remote-branch und erstellen Sie eine neue remote-Zweig ausgeführt:
InformationsquelleAutor Arif
Einen einfachen Weg, es zu tun:
Siehe diese.
InformationsquelleAutor Nomade
Nur zwei Schritte zum replizieren von änderungen von name auf
remote
sowie auf GitHub:Schritt 1
git branch -m old_branchname new_branchname
Schritt 2
git push origin :old_branchname new_branchname
InformationsquelleAutor Harry_pb
Git-GUI-Benutzer, es könnte nicht viel einfacher sein.
Git-GUI ist, wählen Sie das Zweig-Namen aus der drop-down-Liste in der "Zweig Umbenennen" - dialog-box erstellt, aus dem Menüpunkt Zweig: "Umbenennen", geben Sie einen Neuen Namen ein, und klicken Sie auf "Umbenennen". Ich habe markiert, wo die drop-down-Liste.
InformationsquelleAutor user3070485
oder
InformationsquelleAutor user128364
Git branch umbenennen kann erfolgen, indem:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Den Unterschied zwischen -m und -M:
-m: wenn Sie versuchen, benennen Sie Ihre Niederlassungen mit einer bestehenden Niederlassung-Namen mit -m.
Es wird ein Fehler zu sagen, dass der Zweig bereits existiert. Sie müssen eindeutige Namen haben.
Aber,
-M: dies wird helfen, Sie zu zwingen, benennen Sie mit einem bestimmten Namen, es ist sogar vorhanden. Also einen vorhandenen Zweig überschrieben wird komplett mit...
Hier ist ein Git terminal B.
InformationsquelleAutor Silent Spectator
Alle bisherigen Antworten sprechen
git branch -m
. Natürlich, es ist einfach zu bedienen, aber für mich, es kann ein wenig schwer zu erinnern, eine andere Git-Befehl. So habe ich versucht, die Arbeit der Befehl, den ich kannte. Ja, Sie können es erraten.Benutze ich
git branch -b <new_branch_name>
. Und wenn Sie nicht möchten, speichern Sie die alte Filiale jetzt können Sie ausführengit branch -D <old_branch_name>
um es zu entfernen.Ich weiß, es kann ein wenig langweilig, aber es ist einfacher zu verstehen und zu erinnern. Ich hoffe, es ist hilfreich für Sie.
InformationsquelleAutor Dai Kaixian
Wenn Sie wollen:
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
InformationsquelleAutor Vineet Jain