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?
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?
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.
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 ".
Per rinominare il tuo attuale ramo:
git branch -m <newname>
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
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
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
git push origin :old-name new-name
git push origin -u new-name
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.
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
- 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
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