Ik heb vier takken zoals master -> origin/regacy, FeatureA -> oorsprong/kenmerkA. Zoals je kunt zien, heb ik de verkeerde naam getypt.
Dus ik wil de naam van een externe vertakking wijzigen (oorsprong/regacy → oorsprong/legacy of oorsprong/master)
Ik probeer het onderstaande commando:
git remote rename regacy legacy
Maar Git console heeft mij een foutmelding teruggestuurd.
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
Hoe kan ik dit probleem oplossen?
Antwoord 1, autoriteit 100%
Er zijn een paar manieren om dat te bereiken:
- Wijzig uw lokale vestiging en push uw wijzigingen
- Duw de branch naar remote met de nieuwe naam terwijl je de originele naam lokaal behoudt
Lokaal en extern hernoemen
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>
# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>
# Prevent git from using the old name when pushing in the next step.
# Otherwise, git will use the old upstream name instead of <new_name>.
git branch --unset-upstream <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>
Alleen externe vertakking hernoemen
Tegoed: ptim
# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
Belangrijke opmerking:
Als je de git branch -m
(move) gebruikt, is Git ook je tracking branch aan het updatenmet de nieuwe naam.
git remote rename legacy legacy
git remote rename
probeert je remote sectie in je configuratiebestand bij te werken. Het zal de afstandsbediening hernoemen met de opgegeven naam naar de nieuwe naam, maar in jouw geval heeft het er geen gevonden, dus het hernoemen is mislukt.
Maarhet zal niet doen wat je denkt; het zal de naam van uw lokaleconfiguratie op afstand hernoemen en nietde externe tak.
Opmerking
Git-servers kunnen je toestaan om Git-takken te hernoemen met behulp van de webinterface of externe programma’s (zoals Sourcetree, enz.), maar je moet in gedachten houden dat in Git al het werk lokaal wordt gedaan, dus het is aan te raden om de bovenstaande commando’s te gebruiken om het werk.
Antwoord 2, autoriteit 21%
Als u een filiaal verkeerd hebt genoemd en deze naar de externe repository hebt geduwd, volgt u deze stappen om die tak te hernoemen (Op basis van dit artikel ):
-
Hernoem uw lokale filiaal:
-
Als u op het filiaal bent, wilt u hernoemen:
git branch -m new-name
-
Als u op een andere tak bent:
git branch -m old-name new-name
-
-
Verwijder de
old-name
Remote Branch en duw denew-name
Lokale tak :
git push origin :old-name new-name
-
Reset de upstream-tak voor de nieuwe lokale tak :
Schakel over naar de tak en vervolgens:
git push origin -u new-name
Antwoord 3, Autoriteit 3%
Het lijkt erop dat er een directe manier is:
Als u echt gewoon de takken op afstand wilt hernoemen (zonder de lokale takken tegelijkertijd te hernoemen), kunt u dit doen met een enkele opdracht zoals
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
Zie het originele antwoord voor meer informatie.
Antwoord 4, Autoriteit 3%
- Hernoem uw lokale filiaal .
Als u op het filiaal staat, wilt u hernoemen:
git branch -m new-name
Als u op de huidige tijd op een andere branche blijft:
git branch -m old-name new-name
- Verwijder de externe vertakking met de oude naam en druk op de lokale vertakking met de nieuwe naam.
Blijf op de doeltak en:
git push origin :old-name new-name
- Reset de upstream-tak voor de lokale tak met nieuwe naam.
Schakel over naar de doeltak en dan:
git push origin -u new-name
Antwoord 5, autoriteit 3%
Het kan ook op de volgende manier worden gedaan.
Hernoem eerst de lokale vestiging, daarna de externe vestiging.
De naam van de lokale vestiging wijzigen:
Indien ingelogd in een ander filiaal,
git branch -m old_branch new_branch
Indien ingelogd in dezelfde tak,
git branch -m new_branch
Naam externe tak wijzigen:
git push origin :old_branch // Delete the remote branch
git push --set-upstream origin new_branch // Create a new remote branch
Antwoord 6
Als je de verkeerde naam al naar de afstandsbediening hebt gepusht, doe je het volgende:
-
Schakel over naar de lokale vestiging waarvan u de naam wilt wijzigen
git checkout <old_name>
-
De naam van de lokale vestiging wijzigen
git branch -m <new_name>
-
Push de
<new_name>
lokale vertakking en reset de stroomopwaartse vertakkinggit push origin -u <new_name>
-
Verwijder de
<old_name>
externe takgit push origin --delete <old_name>
Dit was gebaseerd op dit artikel.
Antwoord 7
Een eenvoudig Snippetbijvoegen voor het hernoemen van uw huidige branch (lokaal en on origin):
git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>
Uitlegvan git docs:
git branch -mof -M optie, wordt hernoemd naar
. Als het een overeenkomstige reflog had, wordt deze hernoemd
overeenkomen, en er wordt een reflog-item gemaakt om de . te onthouden
tak hernoemen. Indien aanwezig, moet -M worden gebruikt om de . te forceren
hernoemen gebeurt.De speciale refspec :(of +: om niet-fast-forward updates toe te staan)
geeft Git opdracht om “overeenkomstige” branches te pushen: voor elke branch die bestaat
aan de lokale kant, wordt de externe kant bijgewerkt als een vertakking van hetzelfde
naam bestaat al aan de externe kant.–set-upstream
Stel de trackinginformatie in, zodat deze wordt beschouwd als de upstream-tak. Als nee is opgegeven, wordt standaard de huidige tak gebruikt.
Antwoord 8
Er is geen directe methode,
-
Naam lokale vestiging wijzigen,
Mijn huidige branch is master
git branch -m master_renamed
#master_renamed is de nieuwe naam van master -
Verwijder vertakking,
git push origin --delete master
#origin is remote_name -
Duw hernoemde branch naar remote,
git push origin master_renamed
Dat is het…
Antwoord 9
Dit kan zelfs worden gedaan zonder de lokale vestiging te hernoemen in drie eenvoudige stappen:
- Ga naar je repository in GitHub
- Maak een nieuwe branch van de oude branch die je wilt hernoemen
- Verwijder de oude tak
Antwoord 10
Ik gebruik deze git alias en het is vrijwel het werk 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;'
Gebruik: git verplaatsen van_branch naar_branch
Het werkt als u de standaardnamen zoals Master, ORIGHT enz.
U kunt wijzen als u wilt, maar het geeft u het idee.
Antwoord 11
-
Hernoem uw lokale filiaal.
Als u op het filiaal bent, wilt u hernoemen:Git Branch-m Nieuwe naam
Als u op een andere branche bent:
git branch -m old-name new-name
-
Verwijder de externe tak van de oude naam en druk op de lokale tak van de nieuwe naam.
Git Push Origin: Old-Name Nieuwe naam
-
Reset de upstream-filiaal voor de lokale tak van de nieuwe naam.
Schakel over naar de tak en vervolgens:Git Push Origin -U Nieuwe naam
Alle set!
Antwoord 12
Ik moest de volgende taak doen om lokale en afstandsbediening te hernoemen:
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old remote branch
git push origin --delete <old_name>
# push to new remote branch - creates new remote branch
git push origin <new_name>
# set new remote branch as default remote branch for local branch
git branch --set-upstream-to=origin/<new_name> <new_name>