Hoe hernoem ik een lokale Git-tak?

Ik wil de naam van een externe branch niet wijzigen, zoals beschreven in Hoofdtak hernoemen voor zowel lokale als externe Git-opslagplaatsen.

Hoe kan ik een lokale branch hernoemen die niet naar een remote branch is gepusht?

In het geval je de externe branch ook moet hernoemen:
Hoe hernoem ik zowel een lokale Git als naam externe tak


Antwoord 1, autoriteit 100%

Als je een vertakking wilt hernoemen terwijl je naar een vertakking verwijst, doe dan:

git branch -m <oldname> <newname>

Als u de huidige vertakking wilt hernoemen, kunt u het volgende doen:

git branch -m <newname>

Als je de lokale branch wilt pushen en de upstream branch wilt resetten:

git push origin -u <newname>

En tot slot als je de remote branch wilt verwijderen:

git push origin --delete <oldname>

Een manier om dit te onthouden is -m is voor "move" (of mv), zo hernoem je bestanden. Een alias toevoegen kan ook helpen. Voer hiervoor het volgende uit:

git config --global alias.rename 'branch -m'

Als je Windows of een ander hoofdletterongevoelig bestandssysteem gebruikt, en er zijn alleen hoofdletterwijzigingen in de naam, moet je -m gebruiken, anders gooit git branch bestaat al fout:

git branch -m <newname>

Antwoord 2, autoriteit 3%

git branch -m old_branch_name new_branch_name

Het bovenstaande commando zal de naam van je vertakking veranderen, maar je moet heel voorzichtig zijn met het gebruik van de hernoemde vertakking, omdat het nog steeds zal verwijzen naar de oude stroomopwaartse vertakking die ermee verbonden is, indien aanwezig.

Als je wat wijzigingen in master wilt pushen nadat je lokale branch is hernoemd naar new_branch_name (voorbeeldnaam):

git push origin new_branch_name:master (nu gaan de wijzigingen naar de master branch maar je lokale branch naam is new_branch_name)

Zie voor meer details “Hoe hernoem je de naam van je lokale filiaal in Git.”


Antwoord 3, autoriteit 2%

De naam van uw huidige tak wijzigen:

git branch -m <newname>

Antwoord 4, autoriteit 2%

Hier zijn de stappen om de vertakking te hernoemen:

  1. Schakel over naar de tak die hernoemd moet worden
  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): Zorg ervoor dat je het commando git status uitvoert en controleer of de nieuw aangemaakte branch naar zijn eigen ref verwijst en niet naar de oudere een. Als je de verwijzing naar de oudere branch vindt, moet je de upstream uitschakelen met:

git branch --unset-upstream

Antwoord 5, autoriteit 2%

De naam van de vertakking wijzigen is handig als uw vertakking klaar is. Dan komen er nieuwe dingen aan, en je wilt in dezelfde branch ontwikkelen in plaats van deze te verwijderen en de nieuwe aan te maken.

Vanuit mijn ervaring moet je de volgende stappen uitvoeren om een ​​lokale en externe branch in Git te hernoemen.

Citaat uit Multiple Staten – Hernoem een ​​lokale en externe vestiging in
git

1. Hernoem je lokale vestiging

Als u zich in het filiaal bevindt dat u wilt hernoemen:

git branch -m new-name

Als je in een ander filiaal zit:

git branch -m old-name new-name

2. Verwijder de remote branch met de oude naam en druk op de lokale branch met de nieuwe naam

git push origin :old-name new-name

3. Reset de upstream-tak voor de lokale tak met nieuwe naam

git push origin -u new-name

Antwoord 6

De antwoorden tot nu toe waren correct, maar hier is wat aanvullende informatie:

Je kunt veilig een branch hernoemen met ‘-m’ (move), maar je moet voorzichtig zijn met ‘-M’, omdat het de hernoeming forceert, zelfs als er al een branch met dezelfde naam is. Hier is het fragment uit de man-pagina van ‘git-branch’:

Met een -m of -M optie, wordt <oldbranch> hernoemd naar <newbranch>. Als <oldbranch> een corresponderende reflog had, wordt deze hernoemd om overeen te komen met <newbranch>, en wordt er een reflog-item gemaakt om de hernoeming van de branch te onthouden. Als <newbranch> bestaat, moet -M worden gebruikt om de hernoeming te forceren.


Antwoord 7

1. Naam wijzigen

Als het je huidige vestiging is, doe dat dan gewoon

git branch -m new_name

Als het een ander filiaal is dat u wilt hernoemen

git branch -m old_name new_name

2. Een nieuwe externe tak volgen

– Als je branch is gepusht, moet je na het hernoemen het verwijderen uit de externe Git-repository en je nieuwe local vragen om een ​​nieuwe remote branch te volgen:

git push origin :old_name
git push --set-upstream origin new_name

Antwoord 8

Ik heb dwaas een branch genoemd die begint met een koppelteken, en heb toen master uitgecheckt. Ik wilde mijn branch niet verwijderen, ik had er werk in.

Geen van beide werkte:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's en \s hielpen ook niet. git branch -m niet werkt niet.

Hier is hoe ik het uiteindelijk heb opgelost. Ga naar de .git/refs/heads van je werkkopie, zoek de bestandsnaam “-dumb-name”, pak de hash van de branch. Dan zal dit het controleren, een nieuwe branch maken met een normale naam en de oude verwijderen.

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

Antwoord 9

Slechts drie stappen om de naamsverandering te repliceren op remote en op GitHub:

Stap 1 git branch -m old_branchname new_branchname

Stap 2 git push origin :old_branchname new_branchname

Stap 3 git push --set-upstream origin new_branchname


Antwoord 10

Om een ​​filiaal lokaal te hernoemen:

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

Nu moet u deze wijzigingen ook op uw externe server doorgeven.

Om wijzigingen van de verwijderde oude branch te pushen:

git push origin :[old-branch]

Om wijzigingen van het maken van een nieuwe branch te pushen:

git push origin [new-branch]

Antwoord 11

Hernoem de branch met dit commando:

git branch -m [old_branch_name] [new_branch_name]

-m: Het hernoemt/verplaatst de tak. Als er al een branch is, krijg je een foutmelding.

Als er al een vertakking is en u wilt die vertakking hernoemen, gebruik dan:

 git rename -M [old_branch_name] [new_branch_name]

Voor meer informatie over hulp, gebruik deze opdracht in de terminal:

git branch --help

of

man git branch

Antwoord 12

Geavanceerde Git-gebruikers kunnen de naam handmatig wijzigen met:

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

Antwoord 13

  1. Hernoem je lokale vestiging.

Als u zich in het filiaal bevindt dat u wilt hernoemen:

git branch -m new-name

Als je in een ander filiaal zit:

git branch -m old-name new-name
  1. Verwijder de remote branch met de oude naam en druk op de lokale branch met de nieuwe naam.

git push origin :old-name new-name

  1. Reset de upstream-vertakking voor de lokale vertakking met een nieuwe naam.
    Schakel over naar het filiaal en dan:

git push origin -u new-name

Of voor een snelle manier om dat te doen, kunt u deze 3 stappen gebruiken:

# Hernoem lokaal filiaal

git branch -m old_branch new_branch  

# Verwijder de oude vertakking op afstand

git push origin :old_branch  

# Druk op de nieuwe tak, stel de lokale tak in om de nieuwe afstandsbediening te volgen

git push --set-upstream origin new_branch   

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


Antwoord 14

Hier zijn drie stappen: Een commando dat u in uw terminal kunt aanroepen en de naam van de filiaal kunt wijzigen.

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

Als je meer nodig hebt: stap-voor-stap, De Git Branch-naam wijzigen is daar een goed artikel over.


Antwoord 15

Waarschijnlijk, zoals anderen al zeiden, zal dit een mismatch zijn in de naamgeving van filialen.

Als je een dergelijke situatie hebt, kan ik raden dat je Windows gebruikt, wat je ook zal leiden naar:

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

Vervolgens moet je een tussenstap doen:

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

Niets meer.


Antwoord 16

Probeer specifiek de vraag te beantwoorden (tenminste de titel).

Je kunt de lokale tak ook hernoemen, maar blijf de oude naam volgen op de afstandsbediening.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

Als je nu git push uitvoert, wordt de externe old_branch ref bijgewerkt met je lokale new_branch.

U moet deze configuratie kennen en onthouden. Maar het kan handig zijn als je niet de keuze hebt voor de remote branch-naam, maar je vindt het niet leuk (oh, ik bedoel, je hebt een zeer goede reden om niet leuk te vinden it !) en geef de voorkeur aan een duidelijkere naam voor uw lokale vestiging.

Als je met de ophaalconfiguratie speelt, kun je zelfs de lokale externe-referentie hernoemen. d.w.z. met een refs/remote/origin/new_branch ref-pointer naar de branch, dat is in feite de old_branch op origin. Ik raad dit echter ten zeerste af, voor de veiligheid van je geest.


Antwoord 17

Het wijzigen van de vestiging lokaal is vrij eenvoudig…

Als u zich in het filiaal bevindt waarvan u de naam wilt wijzigen, doet u dit eenvoudig:

git branch -m my_new_branch

Anders, als je op master of een andere branch zit dan degene waarvan je de naam wilt veranderen, doe dan gewoon:

git branch -m my_old_branch my_new_branch

Ik maak ook de onderstaande afbeelding om dit in actie te laten zien op een opdrachtregel. In dit geval zit je in de master branch, bijvoorbeeld:

Wijzig filiaalnaam lokaal


Antwoord 18

Om de huidige branch te hernoemen (behalve de vrijstaande HEAD-status) kun je ook deze alias gebruiken:

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

Antwoord 19

Als je bereid bent om SourceTree te gebruiken (wat ik sterk aanbeveel), kun je met de rechtermuisknop op je branch klikken en koos voor ‘Naam wijzigen’.

voer hier de afbeeldingsbeschrijving in


Antwoord 20

Een andere optie is om de opdrachtregel helemaal niet te gebruiken. Git GUI-clients zoals SourceTree nemen veel van de syntactische leercurve / pijn weg die ervoor zorgt dat vragen zoals deze behoren tot de meest bekeken op Stack Overflow.

Klik in SourceTree met de rechtermuisknop op een lokale vestiging in het deelvenster “Takken” aan de linkerkant en selecteer “Naam wijzigen…”.


Antwoord 21

Een eenvoudige manier om het te doen:

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

Zie dit voor meer informatie.


Antwoord 22

Omdat je de branch niet naar een externe server wilt pushen, is dit voorbeeld handig:

Stel dat u een bestaande branch heeft met de naam “my-hot-feature”, en u wilt deze hernoemen naar “feature-15.”

Eerst wilt u uw lokale vestiging wijzigen. Dit kan niet eenvoudiger:

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

Voor meer informatie kunt u terecht op Lokaal en Een vertakking op afstand hernoemen in Git.


Antwoord 23

Git-versie 2.9.2

Als u de naam wilt wijzigen van de lokale vestiging waar u zich bevindt:

git branch -m new_name

Als je de naam van een ander filiaal wilt wijzigen:

git branch -m old_name new_name

Als je de naam van een andere branch wilt veranderen in een naam die al bestaat:

git branch -M old_name new_name_that_already_exists

Opmerking: het laatste commando is destructief en zal je branch hernoemen, maar je verliest de oude branch met die naam en die commits omdat branch-namen uniek moeten zijn.


Antwoord 24

Als je de naam van de huidige branch wilt veranderen, voer dan uit:

git branch -m [old_branch] [new_branch]

Als je de oude remote branch wilt verwijderen, voer je uit:

git push origin :[old_branch]

Als je de oude remote branch wilt verwijderen en een nieuwe remote branch wilt maken, voer je uit:

git push origin :old_branch new_branch

Antwoord 25

Eigenlijk heb je drie stappen omdat de lokale vertakking een duplicaat op de server heeft, dus we hebben één stap voor lokaal op twee stappen op de server:

  1. Lokaal hernoemen: gebruik gewoon het volgende commando om je huidige branch te hernoemen, zelfs als je het uitgecheckt hebt:
    git branch -m <old-branch-name> <new-branch-name>
    
  2. Verwijder de server één: gebruik de volgende opdracht om de oude naambranch op de server te verwijderen:
    git push <remote-name[origin by default]> :<old-branch-name>
    
  3. Push de nieuwe: nu is het tijd om de nieuwe branch met de naam op de server te pushen:
    git push -u <new-branch-name>
    

Antwoord 26

Het hernoemen van Git branch kan gedaan worden met:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

Het verschil tussen -m en -M:

-m: als je probeert om je branch te hernoemen met een bestaande branch naam met behulp van -m.
Het zal een foutmelding geven dat de branch al bestaat. U moet een unieke naam opgeven.

Maar,

-M: dit zal je helpen om de naam te hernoemen met een bepaalde naam, zelfs als deze bestaat. Dus een bestaande branch zal er volledig mee overschrijven…

Hier is een voorbeeld van een Git-terminal,

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$

Antwoord 27

Voordat we beginnen, moet u ervoor zorgen dat u de tak heeft geselecteerd waarvan u de naam wilt wijzigen:

git checkout old-name

Als je al je lokale vestigingen wilt zien, gebruik dan het volgende commando:

git branch --list

Als alles duidelijk is, volg je deze stappen:

  1. Als je het Git rename branch commando gebruikt, moet je een -m optie aan je commando toevoegen:

    git branch -m new-name
    
  2. Je kunt een lokale tak ook hernoemen vanuit een andere tak door de volgende twee commando’s te gebruiken:

    git checkout master
    git branch -m old-name new-name
    
  3. Ten slotte zal dit commando alle zowel lokale als externe takken weergeven om te controleren of het hernoemd is:

    git branch -a
    

Hoewel het niet mogelijk is om een ​​remote branch direct te hernoemen, omvat het proces van het hernoemen van een branch deze drie eenvoudige stappen:

  1. Om te beginnen, moet je een lokale vestiging hernoemen door de vorige stappen te volgen.
    2.Verwijder dan verwijder de oude branch en duw de nieuwe branch. U kunt dit eenvoudig doen met de volgende opdrachten:

     git push origin --delete old-name
     git push origin :old-name new-name
    
  2. Reset de upstream-tak voor uw nieuwe lokale vestiging en u bent helemaal klaar:

    git push origin -u new-name
    

Antwoord 28

Voor Git GUI-gebruikers kan het niet veel eenvoudiger.
Kies in Git GUI de vertakkingsnaam uit de vervolgkeuzelijst in het dialoogvenster “Vertakking hernoemen” gemaakt via het menu-item Vertakking:Hernoemen, typ een Nieuwe naam en klik op “Hernoemen”. Ik heb gemarkeerd waar ik de vervolgkeuzelijst kan vinden.

De naam van een lokale Git-tak wijzigen


Antwoord 29

Alle voorgaande antwoorden hebben het over git branch -m. Het is natuurlijk gemakkelijk te bedienen, maar voor mij kan het een beetje moeilijk zijn om een ​​ander Git-commando te onthouden. Dus probeerde ik het werk gedaan te krijgen met het commando dat ik kende. Ja, je raadt het misschien al.

Ik gebruik git branch -b <new_branch_name>. En als je de oude branch nu niet wilt opslaan, kun je git branch -D <old_branch_name> uitvoeren om het te verwijderen.

Ik weet dat het misschien een beetje vervelend is, maar het is gemakkelijker te begrijpen en te onthouden. Ik hoop dat het nuttig voor je is.


Antwoord 30

Als je wilt:

  • Hernoem de Git-repository, voer uit: git branch -m <oldname> <newname>
  • Verwijder de oude branch door: git push origin: old-name new-name
  • Bevestig het met: git commit <newname>
    • en dan pushen met: git push origin new_branch_name:master
  • Als je de status wilt controleren, gebruik dan: git status
  • Als je wilt afrekenen, gebruik dan: git checkout

LEAVE A REPLY

Please enter your comment!
Please enter your name here

two + ten =

Other episodes