Non voglio rinominare un ramo remoto, come descritto in Rinomina ramo principale per repository Git sia locali che remoti.
Come posso rinominare un ramo locale che non è stato inserito in un ramo remoto?
Nel caso in cui sia necessario rinominare remote branch:
Come faccio a rinominare sia il nome di un ramo Git locale che quello 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 ricordarlo è che -m
è per "move" (o mv
), che è il modo in cui rinomini 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à comunque 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:
git branch -m <new_name>
git Push Origin :<old_name>
git Push Origin <new_name>:refs/heads/<new_name>
EDIT (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 un ramo locale e remoto in git
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' (sposta), ma bisogna fare attenzione, perché '-M' forza il cambio di nome, anche se esiste già un ramo con lo stesso nome. Ecco l'estratto dalla pagina man 'git-branch':
> Con l'opzione -m o -M, <oldbranch>
verrà rinominato in <newbranch>
. Se <oldbranch>
ha un reflog corrispondente, viene rinominato in modo che corrisponda a <newbranch>
e viene creata una voce di riferimento per ricordare la ridenominazione del ramo. Se <newbranch>
esiste, è necessario utilizzare -M per forzare la modifica del nome.
Se è il tuo attuale ramo, fai
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 premuto, 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 estratto il master. Non volevo delete my branch, ci avevo lavorato.
Nessuno dei due ha funzionato:
git checkout -dumb-name
git checkout -- -dumb-name
"
s, '
s e \
s non sono stati d'aiuto. git branch -m
non funziona.
Ecco come ho finalmente risolto. Entra nel 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
Per rinominare un ramo localmente:
git branch -m [old-branch] [new-branch]
Ora dovrai propagare queste modifiche anche sul tuo server remoto.
Per spingere le modifiche del vecchio ramo cancellato:
git Push Origin :[old-branch]
Per spingere i cambiamenti di creazione del nuovo ramo:
git Push Origin [new-branch]
Rinominare il ramo usando questo comando:
git branch -m [old_branch_name] [new_branch_name]
-m
: rinomina/sposta il ramo. Se c'è già un ramo, riceverai un errore.
Se c'è già un ramo e vuoi rinominarlo con quel ramo, usa:
git rename -M [old_branch_name] [new_branch_name]
Per ulteriori informazioni sulla guida, utilizzare questo comando nel terminale:
git branch --help
o
man git branch
Gli utenti Git avanzati possono rinominare manualmente usando:
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
Rinomina ramo:
git branch -m old_branchname new_branchname
Qui il lungo nome dell'opzione -m
è --move
. Quindi possiamo anche usare:
git branch --move old_branchname new_branchname
Se vuoi rinominare il ramo attuale, usa questo:
git branch -m new_branchname
o
git branch -move new_branchname
Se si desidera spostare queste modifiche su remoto, utilizzare quanto segue.
git Push Origin :old_branchname new_branchname
Questo eliminerà il ramo remoto old_branchname
e spingerà il ramo locale new_branchname
.
git Push Origin -u new_branchname
Ciò ripristinerà il ramo upstream per il ramo locale new_branchname
.
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
O per un modo veloce per farlo, è possibile utilizzare questi 3 passaggi:
# Rinomina ramo localmente
git branch -m old_branch new_branch
# Elimina il vecchio ramo remoto
git Push Origin :old_branch
# Spingi il nuovo ramo, imposta il ramo locale per tracciare il nuovo telecomando
git Push --set-upstream Origin new_branch
Referance: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
Ecco tre passaggi: un comando che puoi chiamare all'interno del tuo terminale e cambiare il nome del ramo.
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
Se hai bisogno di più: passo dopo passo,Come cambiare il nome di Git Branchè un buon articolo a riguardo.
Probabilmente come detto da altri, questo sarà un caso non corrispondente nella denominazione dei rami.
Se si dispone di una situazione del genere, posso supporre che tu sia su Windows che ti porterà anche a:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
Quindi devi fare un passaggio intermedio:
$ git branch -m temporary
$ git branch -m casesensitive
Niente di più.
Cercando di rispondere in modo specifico alla domanda (almeno il titolo).
Puoi anche rinominare local branch, ma continua a tenere traccia del vecchio nome sul telecomando.
git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch
Ora, quando si esegue git Push
, il riferimento old_branch
remoto viene aggiornato con new_branch
locale.
Devi sapere e ricordare questa configurazione. Ma può essere utile se non hai la scelta per il nome del ramo remoto, ma non ti piace (oh, voglio dire, hai un molto buono motivo per non piacermi !) e preferisci un nome più chiaro per la tua filiale locale.
Giocando con la configurazione di recupero, è anche possibile rinominare il riferimento remoto locale. cioè, avendo un puntatore ref di refs/remote/Origin/new_branch
al ramo, questo è in effetti il old_branch
su Origin
. Tuttavia, lo scoraggio molto, per la sicurezza della tua mente.
Se desideri utilizzare SourceTree (che consiglio vivamente), puoi fare clic con il pulsante destro del mouse sul ramo e scegliere "Rinomina".
Per rinominare il ramo corrente (eccetto per lo stato HEAD distaccato) puoi anche usare questo alias:
[alias]
mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
Cambiare il ramo localmente è abbastanza facile ...
Se sei sul ramo per il quale vuoi cambiare il nome, fallo semplicemente:
git branch -m my_new_branch
Altrimenti, se sei su master
o qualsiasi altro ramo diverso da quello che vorresti cambiare nome, fai semplicemente:
git branch -m my_old_branch my_new_branch
Inoltre, creo l'immagine qui sotto per mostrarla in azione su a command line . In questo caso, sei nel ramo master
, ad esempio:
Un'altra opzione è di non usare la riga di comando. I client Git della GUI come SourceTree tolgono gran parte della curva di apprendimento sintattico/dolore che fa sì che domande come questa siano tra le più viste su Stack Overflow.
In SourceTree, fai clic con il pulsante destro su qualsiasi ramo locale nel riquadro "Branches" sulla sinistra e seleziona "Rinomina ...".
Dato che non vuoi spingere il ramo su un server remoto, questo esempio sarà utile:
Supponiamo che tu abbia un ramo esistente chiamato "my-hot-feature" e che tu voglia rinominarlo in "feature-15".
Per prima cosa, vuoi cambiare la tua filiale locale. Questo non potrebbe essere più facile:
git branch -m my-hot-feature feature-15
Per ulteriori informazioni, è possibile visitareRidenominazione locale e remota di un ramo in Git.
Git versione 2.9.2
Se vuoi cambiare il nome della filiale locale su cui ti trovi:
git branch -m new_name
Se vuoi cambiare il nome di un ramo diverso:
git branch -m old_name new_name
Se si desidera modificare il nome di un ramo diverso con un nome già esistente:
git branch -M old_name new_name_that_already_exists
Nota: l'ultimo comando è distruttivo e rinominerà il tuo ramo, ma perderai il vecchio ramo con quel nome e quei commit perché i nomi dei rami devono essere univoci.
Se si desidera modificare il nome del ramo corrente, eseguire:
git branch -m [old_branch] [new_branch]
Se si desidera eliminare il vecchio ramo remoto, eseguire:
git Push Origin :[old_branch]
Se si desidera eliminare il vecchio ramo remoto e creare un nuovo ramo remoto, eseguire:
git Push Origin :old_branch new_branch
Un modo semplice per farlo:
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
Per ulteriori informazioni, vedere this .
Solo due passaggi per replicare le modifiche nel nome su remote
e su GitHub:
Passaggio 1 git branch -m old_branchname new_branchname
Passaggio 2 git Push Origin :old_branchname new_branchname
git branch -m old_branch_name new_branch_name
o
git branch --move old_branch_name new_branch_name
Per gli utenti Git GUI non potrebbe essere molto più semplice. Nella GUI di Git, selezionare il nome del ramo dall'elenco a discesa nella finestra di dialogo "Rinomina ramo" creata dalla voce di menu Ramo: Rinomina, digitare un nuovo nome e fare clic su "Rinomina". Ho evidenziato dove trovare l'elenco a discesa.
Tutte le risposte precedenti stanno parlando di git branch -m
. Certo, è facile da usare, ma per me potrebbe essere un po 'difficile ricordare un altro comando Git. Così ho cercato di portare a termine il lavoro con il comando che conoscevo. Sì, puoi indovinarlo.
Io uso git branch -b <new_branch_name>
. E se non vuoi salvare il vecchio ramo ora puoi eseguire git branch -D <old_branch_name>
per rimuoverlo.
So che potrebbe essere un po 'noioso, ma è più facile da capire e ricordare. Spero sia utile per te.
La rinomina del ramo Git può essere fatta usando:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
La differenza tra -m e -M :
-m: se stai cercando di rinominare il tuo ramo con un nome di ramo esistente usando -m . Solleverà un errore dicendo che il ramo esiste già. Devi dare un nome univoco.
Ma,
-M: questo ti aiuterà a forzare la rinomina con un nome dato, anche se esiste. Quindi un ramo esistente sovrascriverà interamente con esso ...
Ecco un esempio di Git terminal,
[email protected]:~/project/myapp/sunithamakeup$ git branch
master
master0
new_master
test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch
master
master0
new_master
* test
[email protected]:~/project/myapp/sunithamakeup$
Se lo desidera:
git branch -m <oldname> <newname>
git Push Origin: old-name new-name
git commit <newname>
git Push Origin new_branch_name:master
git status
git checkout
In PhpStorm:
VCS → Git → Rami ... → Rami locali →YOUR_BRANCH→ Rinomina
Rinomina il ramo attuale
git branch -m <newbranchname>
o
git branch -m oldbranchname newbranchname