Ich habe 4 Köpfe wie Master -> Origin/regacy, FeatureA -> Origin/FeatureA.
Wie Sie oben sehen können, habe ich einen falschen Namen eingegeben.
Ich möchte also einen Namen für einen entfernten Zweig umbenennen (Origin/regacy => Origin/Legacy oder Origin/Master).
Ich versuche unten zu befehlen.
git remote umbenennen regacy vermögen
Aber git console hat mir eine msg zurückgeschickt.
fehler: Konfig-Abschnitt 'remote.regacy' konnte nicht in .__ umbenannt werden. 'remote.legacy'
Wie kann ich dieses Problem lösen?
Sie können einen Remote-Zweig nicht direkt umbenennen.
Sie müssen es löschen und dann erneut drücken.
# rename the local branch to the new name
git branch -m <old_name> <new_name>
# delete the old branch on remote - where <remote> is eg. Origin
git Push <remote> --delete old_name
# Push the new branch to remote
git Push <remote> new_name
# Reset the upstream branch for the new_name local branch
git Push <remote> -u new-name
Wenn Sie git branch -m
(move) verwenden, gibt git auch Ihren Tracking-Zweig mit dem neuen Namen aktualisiert.
git remote rename legacy legacy
git remote rename
versucht, Ihren Remote-Abschnitt in Ihrer Konfigurationsdatei zu aktualisieren. Die Fernbedienung wird mit dem angegebenen Namen in den neuen Namen umbenannt. In Ihrem Fall wurden jedoch keine gefunden, sodass die Umbenennung fehlgeschlagen ist.
Aber wird nicht das tun, was Sie denken, es wird Ihren Remote-Namen local config und nicht den Remote-Zweig umbenennen.
Note Git-Server können es Ihnen ermöglichen, git branch über das Webinterface oder externe Programme (wie Sourctree usw.) umzubenennen, aber Sie müssen bedenken, dass in git die gesamte Arbeit lokal ausgeführt wird die obigen Befehle zur Arbeit.
Wenn Sie einen Zweig falsch benannt haben und dies in das Remote-Repository übertragen haben, führen Sie die folgenden Schritte aus, um diesen Zweig umzubenennen ( basierend auf diesem Artikel ):
Benennen Sie Ihren lokalen Zweig um:
Wenn Sie sich in dem Zweig befinden, den Sie umbenennen möchten:git branch -m new-name
Wenn Sie sich in einer anderen Branche befinden:git branch -m old-name new-name
Löschen Sie den old-name
entfernten Zweig und drücken Sie den lokalen Zweig new-name
: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
Es scheint, dass es einen direkten Weg gibt:
Wenn Sie Zweige wirklich nur aus der Ferne umbenennen möchten (ohne gleichzeitig lokale Zweige umzubenennen), können Sie dies mit einem einzigen Befehl wie
git Push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
Weitere Einzelheiten finden Sie in der ursprünglichen Antwort
Dies kann auch auf folgende Weise geschehen:
At first rename local branch, then remote branch.
Lokale Zweigstelle umbenennen:
Wenn in einem anderen Zweig angemeldet ist_
git branch -m old_branch new_branch
Wenn in demselben Zweig eingeloggt_
git branch -m new_branch
Remote-Zweig umbenennen:
git Push Origin :old_branch // delete remote branch
git Push --set-upstream Origin new_branch // create new remote branch
Dies kann auch ohne Umbenennen des lokalen Zweigs in drei einfachen Schritten erfolgen:
Es gibt keine direkte Methode,
Lokale Niederlassung umbenennen ,
mein jetziger Zweig ist Master
git branch -m master_renamed
#master_renamed ist der neue Name des Masters
entfernte Zweigstelle löschen,
git Push Origin --delete master
#Origin ist entfernter_name
Umbenannten Zweig in Remote verschieben,
git Push Origin master_renamed
das ist es...
Ich benutze diesen Git-Alias und er erledigt den Job ziemlich automatisch:
git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git Push --delete Origin $1; git status; git Push -u Origin $2; git branch -a; exit;'
Verwendung: Git Move FROM_BRANCH TO_BRANCH
Es funktioniert, wenn Sie die Standardnamen wie master, Origin usw. haben. Sie können nach Belieben ändern, aber es gibt Ihnen die Idee.