Come rinominare un ramo Git locale?

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

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

 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 master 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  

Ecco i passaggi per rinominare il ramo:

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

EDIT (12/01/2017): assicurati di eseguire lo git status comando 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 più Stati – Rinominare un ramo locale e remoto in git

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 

Le risposte finora sono state corrette, ma ecco alcune informazioni aggiuntive: Si può rinominare un ramo con ‘-m’ (sposta), ma bisogna stare attenti, perché ‘-M’ forza il cambio di nome, anche se c’è un esistente ramo con lo stesso nome già. Ecco l’estratto dalla pagina man ‘git-branch’:

Con l’opzione -m o -M, verrà rinominato in . Se ha un reflog corrispondente, viene rinominato in modo che corrisponda a e viene creata una voce di reflog per ricordare la rinomina del ramo. Se esiste, -M deve essere usato per forzare il nome.

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 

Ho chiamato scioccamente un ramo che inizia con un trattino e poi ho controllato il master. Non volevo cancellare il mio ramo, 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 neanche. 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 

Per rinominare un ramo localmente:

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

Ora dovrai propagare queste modifiche anche sul tuo server remoto.

Per modificare 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:

 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 

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ù.

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.

Cercando di rispondere in modo specifico alla domanda (almeno il titolo).

Puoi anche rinominare il ramo locale , ma continua a tracciare il vecchio nome sul telecomando.

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

Ora, quando esegui git push , il riferimento remoto old_branch viene aggiornato con il tuo new_branch locale.

Devi conoscere 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 una buona ragione per non piacermi!) E preferisci un chiaro nome per la tua filiale locale.

Giocando con la configurazione di recupero, è anche ansible rinominare il riferimento remoto locale. cioè, avendo un puntatore ref refs/remote/origin/new_branch ref al ramo, che è in effetti il old_branch origin . Tuttavia, lo scoraggio molto, per la sicurezza della tua mente.

Per rinominare il ramo corrente (eccetto per lo stato di HEAD distaccato) puoi anche usare questo alias:

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

Un’altra opzione è di non usare la riga di comando. I client Git della GUI come SourceTree eliminano gran parte della curva di apprendimento sintattica / dolore che fa sì che domande come questa siano tra le più viste su Stack Overflow.

In SourceTree, fai clic con il tasto destro su qualsiasi ramo locale nel riquadro “Branches” sulla sinistra e seleziona “Rinomina …”.

Se si è disposti a utilizzare SourceTree (che consiglio vivamente), è ansible fare clic con il tasto destro del mouse sul ramo e scegliere “Rinomina”.

inserisci la descrizione dell'immagine qui

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, è ansible visitare Locally e Remote Renaming in un branch in Git .

Cambiare il ramo localmente è abbastanza facile …

Se sei nel ramo che vuoi cambiare, fai semplicemente questo:

 git branch -m my_new_branch 

Altrimenti, se sei su un master o su 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 in una riga di comando , in questo caso, sei sul ramo master per esempio:

Cambia il nome del ramo localmente

  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 
  1. Eliminare il ramo remoto vecchio nome e premere il ramo locale del nuovo nome.

git push origin :old-name new-name

  1. Reimposta il ramo upstream per il ramo locale del nuovo nome. Passare al ramo e quindi:

git push origin -u new-name

O come un modo veloce per farlo, è ansible utilizzare questi 3 passaggi: comando nel terminale

# Rinomina ramo a livello locale

 git branch -m old_branch new_branch 

# Elimina il vecchio ramo

 git push origin :old_branch 

# Premere il nuovo ramo, impostare 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

git versione 2.9.2

Se vuoi cambiare il nome del ramo 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 

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 altro, vedi questo .

Tutto quanto sopra sta parlando di git branch -m . Naturalmente, è facile da usare, ma per me, potrebbe essere un po ‘difficile ricordare un altro comando git. Così ho cercato di eliminare il lavoro dal comando che conoscevo. Sì, puoi indovinarlo.

Io uso git branch -b . E se non vuoi salvare il vecchio ramo ora puoi eseguire git branch -D per rimuoverlo.

So che potrebbe essere un po ‘noioso, ma è più facile da capire e ricordare. Speriamo che sia utile per te.

git branch rename può essere fatto usando

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

Differenza tra -m e -M ,

-m: se stai provando a rinominare il tuo ramo con il nome di un ramo esistente usando -m si genera un errore, 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. così il 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$ 

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 in remoto, utilizzare quanto segue.

 git push origin :old_branchname new_branchname 

Questo cancellerà 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.

PhpStorm:

VCS-> Git-> Branches …-> Filiali locali- > _your_branch_ -> Rinomina

Se lo desidera:

  • Rinominare il repository git, eseguire: git branch -m
  • Elimina il vecchio ramo da: git push origin: old-name new-name
  • Impegnalo usando: git commit
    • e quindi spingere utilizzando: git push origin new_branch_name:master
  • Se si desidera verificare lo stato, utilizzare: git status
  • Se vuoi controllare, usa: git checkout

git branch -m old_branch_name new_branch_name

O

git branch –move old_branch_name new_branch_name

Se si desidera modificare il nome del ramo localmente dall’elenco dei rami.

Esempio: il mio nome di ramo è “demo” voglio rinominarlo in “test” che puoi fare in questo modo:

 // git branch -m   $ git branch -m demo test 

Se vuoi rinominare il ramo attuale, puoi fare così:

 // git branch -m  $ git branch -m test