Domanda Come rinominare un ramo Git locale?


Non voglio rinominare un ramo remoto, come descritto in Rinomina ramo principale per repository Git locali e remoti .

Come posso rinominare un ramo locale che non è stato inserito in un ramo remoto?


6701
2017-07-06 03:20


origine


risposte:


Se si desidera rinominare un ramo mentre si punta a un ramo, fare:

git branch -m <oldname> <newname>

Se vuoi rinominare il ramo attuale, puoi fare:

git branch -m <newname>

Un modo per ricordare questo, è -m è per "spostare" (o mv), che è come si rinomina i file.


10677
2017-07-06 03:21



git branch -m old_branch_name new_branch_name

Il comando precedente cambierà il nome del tuo ramo, ma devi stare molto attento a usare il ramo rinominato, perché farà ancora riferimento al vecchio ramo upstream ad esso associato, se presente.

Se si desidera inviare alcune modifiche al master dopo che il ramo locale è stato rinominato in new_branch_name (nome di esempio):

git push origin new_branch_name:master (ora le modifiche andranno al ramo principale ma il nome del ramo locale è new_branch_name)

Per maggiori dettagli, vedi " Come rinominare il nome del tuo ramo locale in Git ".


350
2018-01-21 09:49



Per rinominare il tuo attuale ramo:

git branch -m <newname>

246
2018-06-20 15:05



Ecco i passaggi per rinominare il ramo:

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

MODIFICA (12/01/2017):  Assicurati di eseguire il comando git status e controlla che il ramo appena creato stia puntando al proprio riferimento e non a quello precedente. Se trovi il riferimento al ramo più vecchio, devi disinserire l'upstream usando:

git branch --unset-upstream

186
2018-04-15 12:50



Rinominare il ramo sarà utile una volta terminato il tuo ramo. Poi stanno arrivando nuove cose e tu vuoi sviluppare nello stesso ramo invece di eliminarlo e crearne uno nuovo.

Dalla mia esperienza, per rinominare un ramo locale e remoto in Git, dovresti fare i seguenti passi.

Citando da Stati multipli - Rinomina una filiale locale e remota in   idiota

1. Rinomina la tua filiale locale

Se sei nel ramo che vuoi rinominare:

git branch -m new-name

Se ti trovi in ​​una filiale diversa:

git branch -m old-name new-name

2. Eliminare il ramo remoto precedente e premere il ramo locale del nuovo nome

git push origin :old-name new-name

3. Reimpostare il ramo upstream per il ramo locale del nuovo nome

git push origin -u new-name

124
2017-10-14 03:22



Le risposte finora sono state corrette, ma ecco alcune informazioni aggiuntive: Si può rinominare un ramo con '-m' (movimento), ma bisogna stare attenti, perché '-M' costringe la ridenominazione, anche se v'è un ramo già esistente con lo stesso nome già. Ecco l'estratto dalla pagina man 'git-branch':

Con l'opzione -m o -M, <oldbranch> sarà rinominato <newbranch>. Se <oldbranch> aveva un reflog corrispondente, è stato rinominato per corrispondere <newbranch>e viene creata una voce di riferimento per ricordare la rinomina del ramo. Se <newbranch> esiste, -M deve essere usato per forzare il cambio di nome.


83
2017-09-24 13:21



1. Rinomina

Se è il tuo attuale ramo, fallo e basta

git branch -m new_name

Se è un altro ramo che si desidera rinominare

git branch -m old_name new_name

2. Traccia un nuovo ramo remoto

- Se il tuo ramo è stato inserito, dopo averlo rinominato devi eliminarlo dal repository Git remoto e chiedere al tuo nuovo locale di tenere traccia di un nuovo ramo remoto:

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

68
2017-12-17 13:45



Ho chiamato scioccamente un ramo che inizia con un trattino e poi ho controllato il master. Non volevo Elimina  il mio ramo, ci ho lavorato.

Nessuno dei due ha funzionato:

git checkout -dumb-name

git checkout -- -dumb-name

"S, 's e \neanche i s hanno aiutato. git branch -m non funziona

Ecco come ho finalmente risolto. Entra nei file .git / refs / heads della tua copia di lavoro, trova il nome file "-dumb-name", ottieni l'hash del ramo. Quindi questo lo verificherà, creerà un nuovo ramo con un nome sano e cancellerà quello vecchio.

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

58
2017-11-09 07:31