Ich habe vier Zweige wie master -> origin / regacy, FeatureA -> origin / FeatureA. Wie Sie sehen, habe ich den falschen Namen eingegeben.
Ich möchte also einen Remote-Zweigstellennamen umbenennen (Ursprung / Regacy → Ursprung / Vermächtnis oder Ursprung / Master).
Ich versuche den folgenden Befehl:
git remote rename regacy legacy
Aber die Git-Konsole hat mir eine Fehlermeldung zurückgegeben.
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
Wie kann ich dieses Problem lösen?
git
repository
rename
git-branch
JayD
quelle
quelle
Antworten:
Es gibt einige Möglichkeiten, dies zu erreichen:
Lokal und Remote umbenennen
Nur Remote-Zweig umbenennen
Bildnachweis : ptim
Wichtige Notiz:
Wenn Sie
git branch -m
(move) verwenden, aktualisiert Git auch Ihren Tracking-Zweig mit dem neuen Namen.git remote rename
versucht, Ihren Remote-Abschnitt in Ihrer Konfigurationsdatei zu aktualisieren. Die Fernbedienung mit dem angegebenen Namen wird in den neuen Namen umbenannt. In Ihrem Fall wurde jedoch keine gefunden, sodass die Umbenennung fehlgeschlagen ist.Aber es wird nicht tun, was Sie denken; Der Remote-Name Ihrer lokalen Konfiguration und nicht der Remote-Zweig wird umbenannt.
Hinweis Mit Git-Servern können Sie Git-Zweige möglicherweise über die Weboberfläche oder externe Programme (wie Sourcetree usw.) umbenennen. Beachten Sie jedoch, dass in Git die gesamte Arbeit lokal ausgeführt wird. Daher wird empfohlen, die oben genannten Befehle zu verwenden zu der Arbeit.
quelle
Your configuration specifies to merge with the ref ''refs/heads/old_name'
git checkout <new_name> ; git branch --unset-upstream
--unset-upstream
vor dem erneuten Drücken, funktioniert es wie vorgesehen.Wenn Sie einen Zweig falsch benannt UND in das Remote-Repository verschoben haben, führen Sie die folgenden Schritte aus, um diesen Zweig umzubenennen ( basierend auf diesem Artikel ):
Benennen Sie Ihre lokale Niederlassung um:
Wenn Sie sich in der Filiale befinden, die Sie umbenennen möchten:
git branch -m new-name
Wenn Sie sich in einem anderen Zweig befinden:
git branch -m old-name new-name
Löschen Sie den
old-name
Remote-Zweig und drücken Sie dennew-name
lokalen Zweig :git push origin :old-name new-name
Setzen Sie den Upstream-Zweig für den lokalen Zweig mit dem neuen Namen zurück :
Wechseln Sie zum Zweig und dann:
git push origin -u new-name
quelle
git push <remote> --delete old_name
& kennengit push origin :old-name new-name
, um einen Zweig zu löschen.master
. Setzen Sie in Repo Details den Standardzweig auf neuen Zweig. Der Fehler ist:By default, deleting the current branch is denied, because the next 'git clone' won't result in any file checked out, causing confusion. You can set 'receive.denyDeleteCurrent' configuration variable to 'warn' or 'ignore' in the remote repository to allow deleting the current branch, with or without a warning message. To squelch this message, you can set it to 'refuse'. error: refusing to delete the current branch: refs/heads/master
Es scheint einen direkten Weg zu geben:
Weitere Informationen finden Sie in der Originalantwort.
quelle
2.20.1
Der alte Zweig wurde gelöscht, aber der neue wurde nicht erstellt.Dies kann auch folgendermaßen erfolgen.
Benennen Sie zuerst den lokalen Zweig um, dann den Remote-Zweig.
Umbenennen der lokalen Niederlassung:
Wenn Sie in einem anderen Zweig angemeldet sind,
Wenn Sie in derselben Filiale angemeldet sind,
Remote-Zweig umbenennen:
quelle
Wenn Sie bereits den falschen Namen an remote gesendet haben, gehen Sie wie folgt vor:
Wechseln Sie zu dem lokalen Zweig, den Sie umbenennen möchten
git checkout <old_name>
Benennen Sie den lokalen Zweig um
git branch -m <new_name>
Schieben Sie den
<new_name>
lokalen Zweig und setzen Sie den vorgelagerten Zweig zurückgit push origin -u <new_name>
Löschen Sie den
<old_name>
Remote-Zweiggit push origin --delete <old_name>
Dies basierte auf diesem Artikel .
quelle
Anhängen eines einfachen Snippets zum Umbenennen Ihres aktuellen Zweigs (lokal und nach Ursprung):
Erklärung aus Git-Dokumenten:
quelle
Es gibt keine direkte Methode,
Lokale Niederlassung umbenennen ,
Mein aktueller Zweig ist Master
git branch -m master_renamed
#master_renamed ist der neue Name des MastersRemote-Zweig löschen,
git push origin --delete master
#origin ist remote_nameSchieben Sie den umbenannten Zweig in die Fernbedienung.
git push origin master_renamed
Das ist es...
quelle
git push -u origin master_renamed
darin, den Zweig als Tracking-ZweigDies kann auch ohne Umbenennen des lokalen Zweigs in drei einfachen Schritten erfolgen:
quelle
Ich benutze diesen Git-Alias und er erledigt den Job so ziemlich automatisch:
Es funktioniert, wenn Sie die Standardnamen wie Master, Herkunft usw. haben. Sie können nach Belieben ändern, aber es gibt Ihnen die Idee.
quelle
Ich musste die folgende Aufgabe ausführen, um den lokalen und den Remote-Zweig umzubenennen:
quelle
Benennen Sie Ihre lokale Niederlassung um. Wenn Sie sich in der Filiale befinden, die Sie umbenennen möchten:
Git Branch -m neuer Name
Wenn Sie sich in einem anderen Zweig befinden:
Löschen Sie den Remote-Zweig mit dem alten Namen und drücken Sie den lokalen Zweig mit dem neuen Namen.
Git Push Ursprung: alter Name neuer Name
Setzen Sie den Upstream-Zweig für den lokalen Zweig mit dem neuen Namen zurück. Wechseln Sie in die Filiale und dann:
Git Push Origin -u neuer Name
Alles bereit!
quelle
Wenn Sie sich in der Filiale befinden, die Sie umbenennen möchten:
Wenn Sie derzeit in einer anderen Filiale bleiben:
Bleiben Sie auf dem Zielzweig und:
Wechseln Sie zum Zielzweig und dann:
quelle