it-swarm.com.de

Wie benenne ich eine lokale Git-Niederlassung um?

Ich möchte keinen Remote-Zweig umbenennen, wie in Master-Zweig für lokale und Remote-Git-Repositorys umbenennen beschrieben.

Wie kann ich eine lokale Niederlassung umbenennen, die nicht an eine entfernte Niederlassung weitergeleitet wurde?

Falls Sie den entfernten Zweig ebenfalls umbenennen müssen:
Wie benenne ich einen lokalen und einen entfernten Git-Zweig um?

7832
Forrest

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 für "move" (oder mv), mit dem Sie Dateien umbenennen.

Wenn Sie unter Windows oder einem anderen Dateisystem arbeiten, bei dem die Groß- und Kleinschreibung nicht beachtet wird, müssen Sie -M verwenden. Andernfalls wirft git Zweig existiert bereits Fehler:

git branch -M <newname>
12587
siride
git branch -m old_branch_name new_branch_name

Der obige Befehl ändert Ihren Zweignamen, aber Sie müssen sehr vorsichtig sein, wenn Sie den umbenannten Zweig verwenden, da er immer noch 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 Änderungen an der Hauptniederlassung vorgenommen, aber der Name Ihrer lokalen Niederlassung lautet new_branch_name)

Weitere Informationen finden Sie unter " So benennen Sie Ihren lokalen Zweignamen in Git um ".

407
Madhan Ayyasamy

So benennen Sie Ihren aktuellen Zweig um:

git branch -m <newname>
295
Jonathan

So benennen Sie den Zweig um:

  1. Wechseln Sie zu dem Zweig, der umbenannt werden muss
  2. git branch -m <new_name>
  3. git Push Origin :<old_name>
  4. git Push Origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): Stellen Sie sicher, dass Sie den Befehl git status ausführen und überprüfen, dass der neu erstellte Zweig auf seinen eigenen Verweis und nicht auf den älteren verweist. Wenn Sie den Verweis auf den älteren Zweig finden, müssen Sie den Upstream deaktivieren, indem Sie Folgendes verwenden:

git branch --unset-upstream
249
Milind Anantwar

Das Umbenennen des Zweigs ist hilfreich, wenn der Zweig fertig ist. Dann kommen neue Dinge, und Sie möchten im selben Zweig entwickeln, anstatt ihn zu löschen und den neuen zu erstellen.

Nach meiner Erfahrung sollten Sie die folgenden Schritte ausführen, um eine lokale und eine entfernte Verzweigung in Git umzubenennen.

Zitieren aus Mehrere Zustände - Benennen Sie einen lokalen und einen entfernten Zweig in git um

1. Benennen Sie Ihre lokale Niederlassung um

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

git branch -m new-name

Wenn Sie sich in einem anderen Zweig befinden:

git branch -m old-name new-name

2. Löschen Sie die Remote-Zweigstelle mit dem alten Namen und drücken Sie die lokale Zweigstelle mit dem neuen Namen

git Push Origin :old-name new-name

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

git Push Origin -u new-name
182
trungk18

Die Antworten waren bisher korrekt, aber hier sind einige zusätzliche Informationen:

Man kann einen Zweig mit '-m' (move) umbenennen, aber man muss vorsichtig sein, weil '-M' das Umbenennen erzwingt, auch wenn es bereits einen Zweig mit demselben Namen gibt. Hier ist der Auszug aus der Manpage 'git-branch':

> Mit der Option -m oder -M wird <oldbranch> in <newbranch> umbenannt. Wenn <oldbranch> ein entsprechendes Umbenennen hatte, wird es so umbenannt, dass es <newbranch> entspricht, und ein Umbenennungseintrag wird erstellt, um sich an die Umbenennung des Zweigs zu erinnern. Wenn <newbranch> vorhanden ist, muss -M verwendet werden, um das Umbenennen zu erzwingen.

102
Vanchev

1. Umbenennen

Wenn es Ihr aktueller Zweig ist, machen Sie einfach

git branch -m new_name

Wenn es sich um einen anderen Zweig handelt, den Sie umbenennen möchten

git branch -m old_name new_name

2. Verfolgen Sie einen neuen Remote-Zweig

- Wenn Ihr Zweig gepusht wurde, müssen Sie ihn nach dem Umbenennen aus dem entfernten Git-Repository löschen und Ihren neuen lokalen Zweig bitten, einen neuen entfernten Zweig zu verfolgen:

git Push Origin :old_name
git Push --set-upstream Origin new_name
84
Oss

Ich habe törichterweise einen Zweig mit einem Bindestrich beginnend benannt und dann den Master ausgecheckt. Ich wollte nicht löschen meine Filiale, ich hatte Arbeit drin.

Keines davon hat funktioniert:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's und \s haben auch nicht geholfen. git branch -m funktioniert nicht.

Hier ist, wie ich es endlich behoben habe. Gehen Sie in die .git/refs/heads-Datei Ihrer Arbeitskopie, suchen Sie den Dateinamen "-dumb-name" und rufen Sie den Hash des Zweigs ab. Dann wird es ausgecheckt, ein neuer Zweig mit einem vernünftigen Namen erstellt und der alte gelöscht.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
72
Samuel Meacham

So benennen Sie eine Zweigstelle lokal um:

git branch -m [old-branch] [new-branch]

Jetzt müssen Sie diese Änderungen auch auf Ihrem Remote-Server weitergeben.

So übertragen Sie Änderungen des gelöschten alten Zweigs:

git Push Origin :[old-branch]

So verschieben Sie Änderungen an der Erstellung eines neuen Zweigs:

git Push Origin [new-branch]
65
aliasav

Benennen Sie den Zweig mit diesem Befehl um:

git branch -m [old_branch_name] [new_branch_name]

-m: Der Zweig wird umbenannt/verschoben. Wenn es bereits eine Verzweigung gibt, erhalten Sie eine Fehlermeldung.

Wenn es bereits einen Zweig gibt und Sie diesen Zweig umbenennen möchten, verwenden Sie:

 git rename -M [old_branch_name] [new_branch_name]

Verwenden Sie diesen Befehl im Terminal, um weitere Informationen zur Hilfe zu erhalten:

git branch --help

oder

man git branch
38

Fortgeschrittene Git-Benutzer können manuell umbenennen mit:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name
35
Jethik

Zweig umbenennen:

git branch -m old_branchname new_branchname

Hier lautet der lange Name der Option -m--move. So können wir auch verwenden:

git branch --move old_branchname new_branchname

Wenn Sie den aktuellen Zweig umbenennen möchten, verwenden Sie Folgendes:

git branch -m new_branchname

oder

git branch -move new_branchname

Wenn Sie diese Änderungen auf remote verschieben möchten, verwenden Sie Folgendes.

git Push Origin :old_branchname new_branchname

Dadurch wird die old_branchname Remote-Verzweigung gelöscht und die new_branchname lokale Verzweigung verschoben.

git Push Origin -u new_branchname

Dadurch wird der Upstream-Zweig für den lokalen Zweig new_branchname zurückgesetzt.

35
Ajmal sha
  1. Benennen Sie Ihre lokale Niederlassung um.

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

git branch -m new-name

Wenn Sie sich in einem anderen Zweig befinden:

git branch -m old-name new-name
  1. Löschen Sie die Remote-Zweigstelle mit dem alten Namen und drücken Sie die lokale Zweigstelle mit dem neuen Namen.

git Push Origin :old-name new-name

  1. Setzen Sie den Upstream-Zweig für den neuen Namen des lokalen Zweigs zurück. Wechseln Sie in den Zweig und dann:

git Push Origin -u new-name

Um dies schnell zu erreichen, können Sie die folgenden 3 Schritte ausführen:

# Zweig lokal umbenennen

git branch -m old_branch new_branch  

# Löscht den alten entfernten Zweig

git Push Origin :old_branch  

# Drücken Sie auf den neuen Zweig, und legen Sie den lokalen Zweig fest, um die neue Fernbedienung zu verfolgen.

git Push --set-upstream Origin new_branch   

Referenz: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

29
badarshahzad

Hier sind drei Schritte: Ein Befehl, den Sie in Ihrem Terminal aufrufen und den Filialnamen ändern können.

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 mehr brauchen: Schritt für Schritt, So ändern Sie den Namen eines Git-Zweigs ist ein guter Artikel darüber.

24

Wahrscheinlich ist dies, wie von anderen erwähnt, eine Inkongruenz zwischen Groß- und Kleinschreibung bei der Benennung von Zweigen.

Wenn Sie eine solche Situation haben, kann ich vermuten, dass Sie unter Windows arbeiten. Dies führt Sie auch zu:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

Dann müssen Sie einen Zwischenschritt machen:

$ git branch -m temporary
$ git branch -m casesensitive

Nichts mehr.

23
P4C

Ich versuche, speziell auf die Frage zu antworten (zumindest auf den Titel).

Sie können auch den lokalen Zweig umbenennen , den alten Namen jedoch weiterhin auf der Fernbedienung verfolgen.

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

Wenn Sie jetzt git Push ausführen, wird die old_branch -Referenz mit Ihrem lokalen new_branch aktualisiert.

Sie müssen wissen und sich merken diese Konfiguration. Aber es kann nützlich sein, wenn Sie nicht die Wahl für den Namen des entfernten Zweigs haben, aber Sie mögen es nicht (oh, ich meine, Sie haben ein sehr gutes Grund, es nicht zu mögen!) und bevorzugen einen klareren Namen für Ihre lokale Niederlassung.

Wenn Sie mit der Abrufkonfiguration spielen, können Sie die lokale Fernreferenz sogar umbenennen. das heißt, einen refs/remote/Origin/new_branch -Ref-Zeiger auf die Verzweigung zu haben, das ist tatsächlich der old_branch auf Origin. Ich rate jedoch dringend davon ab, um Ihren Verstand zu schützen.

22

Wenn Sie bereit sind, SourceTree (was ich sehr empfehle) zu verwenden, können Sie mit der rechten Maustaste auf Ihren Zweig klicken und "Umbenennen" auswählen.

enter image description here

20
Marcin Szymczak

Um den aktuellen Zweig umzubenennen (mit Ausnahme des getrennten HEAD -Status), können Sie auch diesen Alias ​​verwenden:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
19
dentuzhik

Das Ändern des Zweigs vor Ort ist ganz einfach ...

Wenn Sie sich in dem Zweig befinden, für den Sie den Namen ändern möchten, gehen Sie einfach folgendermaßen vor:

git branch -m my_new_branch

Wenn Sie sich ansonsten in master oder einem anderen Zweig befinden, als dem, dessen Namen Sie ändern möchten, gehen Sie einfach wie folgt vor:

git branch -m my_old_branch my_new_branch

Außerdem erstelle ich das folgende Bild, um dies in einer Befehlszeile in Aktion zu zeigen. In diesem Fall befinden Sie sich im Zweig master, zum Beispiel:

Change branch name locally

19
Alireza

Eine andere Möglichkeit besteht darin, die Befehlszeile überhaupt nicht zu verwenden. Git-GUI-Clients wie SourceTree nehmen einen Großteil der syntaktischen Lernkurve weg, die dazu führt, dass Fragen wie diese zu den am häufigsten auf Stack Overflow angezeigten gehören.

Klicken Sie in SourceTree mit der rechten Maustaste auf eine beliebige lokale Verzweigung im Bereich "Verzweigungen" links und wählen Sie "Umbenennen ...".

17
Steve Chambers

Nur zwei Schritte, um die Namensänderung auf remote sowie auf GitHub zu replizieren:

Schritt 1 git branch -m old_branchname new_branchname

Schritt 2 git Push Origin :old_branchname new_branchname

14
Harry_pb

Da Sie den Zweig nicht auf einen Remote-Server pushen möchten, ist dieses Beispiel hilfreich:

Angenommen, Sie haben einen 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:

git branch -m my-hot-feature feature-15

Weitere Informationen erhalten Sie unter Lokale und ferne Umbenennung eines Zweigs in Git.

14
Tanah

Git Version 2.9.2

Wenn Sie den Namen der Zweigstelle ändern möchten, in der Sie sich befinden:

git branch -m new_name

Wenn Sie den Namen eines anderen Zweigs ändern möchten:

git branch -m old_name new_name

Wenn Sie den Namen eines anderen Zweigs in einen bereits vorhandenen Namen ändern möchten:

git branch -M old_name new_name_that_already_exists

Hinweis: Der letzte Befehl ist destruktiv und benennt Ihre Verzweigung um. Sie verlieren jedoch die alte Verzweigung mit diesem Namen und diesen Commits, da die Verzweigungsnamen eindeutig sein müssen.

12
nikkypx

Ein einfacher Weg, es 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

Weitere Informationen finden Sie unter this .

11
Nomade

Wenn Sie den Namen des aktuellen Zweigs ändern möchten, führen Sie Folgendes aus:

git branch -m [old_branch] [new_branch]

Wenn Sie den alten Remote-Zweig löschen möchten, führen Sie Folgendes aus:

git Push Origin :[old_branch]

Wenn Sie den alten Remote-Zweig löschen und einen neuen Remote-Zweig erstellen möchten, führen Sie Folgendes aus:

git Push Origin :old_branch new_branch
10
Arif
git branch -m old_branch_name  new_branch_name

oder

git branch --move old_branch_name new_branch_name
5
user128364

Für Git-GUI-Benutzer könnte es nicht einfacher sein. Wählen Sie in der Git-Benutzeroberfläche den Zweignamen aus der Dropdown-Liste im Dialogfeld "Zweig umbenennen" aus, das über den Menüpunkt Zweig: Umbenennen erstellt wurde, geben Sie einen neuen Namen ein und klicken Sie auf "Umbenennen". Ich habe markiert, wo die Dropdown-Liste zu finden ist.

Rename a local Git branch

5
Ivan

Das Umbenennen eines Git-Zweigs kann folgendermaßen erfolgen:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

Der Unterschied zwischen - m und - M:

- m: wenn Sie versuchen, Ihren Zweig mit - m umzubenennen. Es wird ein Fehler ausgegeben, der besagt, dass die Verzweigung bereits existiert. Sie müssen einen eindeutigen Namen angeben.

Aber,

- M: Dies hilft Ihnen, das Umbenennen mit einem bestimmten Namen zu erzwingen, auch wenn dieser existiert. Eine bestehende Filiale wird also komplett damit überschrieben ...

Hier ist ein Git-Terminal-Beispiel

[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$

Alle vorherigen Antworten beziehen sich auf git branch -m. Natürlich ist die Bedienung einfach, aber für mich kann es schwierig sein, sich an einen anderen Git-Befehl zu erinnern. Also habe ich versucht, die Arbeit mit dem Befehl zu erledigen, mit dem ich vertraut war. 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 git branch -D <old_branch_name> ausführen, um ihn zu entfernen.

Ich weiß, dass es ein bisschen langweilig sein kann, aber es ist einfacher zu verstehen und sich zu erinnern. Ich hoffe, es ist hilfreich für Sie.

3
Dai Kaixian

Wenn du möchtest:

  • Benennen Sie das Git-Repository um und führen Sie Folgendes aus: git branch -m <oldname> <newname>
  • Löschen Sie den alten Zweig mit: git Push Origin: old-name new-name
  • Festschreiben mit: git commit <newname>
    • und dann Push mit: git Push Origin new_branch_name:master
  • Wenn Sie den Status überprüfen möchten, verwenden Sie: git status
  • Wenn Sie auschecken möchten, verwenden Sie: git checkout
2
Vineet Jain

In PhpStorm:

VCS → Git → Zweige ... → Lokale Zweige → YOUR_BRANCH → Umbenennen

1
AlexSi
git branch -m [old-branch] [new-branch]

-m bedeutet, dass Sie alles von [alter-Zweig] nach [neuer-Zweig] verschieben und sich daran erinnern, dass Sie -M für andere Dateisysteme verwenden können.

0
Saad Bilal

Benennen Sie den aktuellen Zweig um

git branch -m <newbranchname>

oder

git branch -m oldbranchname newbranchname
0
panthari