it-swarm.it

Come rinominare un ramo Git locale?

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

7584
Forrest

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.

12186
siride
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 ."

387
Madhan Ayyasamy

Per rinominare il tuo attuale ramo:

git branch -m <newname>
283
Jonathan

Ecco i passaggi per rinominare il ramo:

  1. Passare al ramo che deve essere rinominato
  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): 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
226
Milind Anantwar

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

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
161
trungk18

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.

93
Vanchev

1. Rinomina

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

2. Traccia un nuovo ramo remoto

- 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
77
Oss

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
66
Samuel Meacham

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]
60
aliasav

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
33

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
31
Jethik

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.

30
Ajmal sha
  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. Elimina il ramo remoto vecchio nome e Spingi 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 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

26
badarshahzad

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.

22

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

21
P4C

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.

19

Se desideri utilizzare SourceTree (che consiglio vivamente), puoi fare clic con il pulsante destro del mouse sul ramo e scegliere "Rinomina".

 enter image description here

17
Marcin Szymczak

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'
16
dentuzhik

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:

 Change branch name locally

16
Alireza

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

15
Steve Chambers

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.

13
Tanah

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.

10
nikkypx

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
8
Arif

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 .

8
Nomade

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

7
Harry_pb
git branch -m old_branch_name  new_branch_name

o

git branch --move old_branch_name new_branch_name
4
user128364

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.

 Rename a local Git branch

4
user3070485

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.

3
Dai Kaixian

La rinomina del ramo Git può essere fatta usando:

  1. git branch -m oldBranch newBranch

  2. 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$
3

Se lo desidera:

  • Rinominare il repository Git, eseguire: git branch -m <oldname> <newname>
  • Elimina il vecchio ramo da: git Push Origin: old-name new-name
  • Impegnalo usando: git commit <newname>
    • e quindi Push utilizzando: git Push Origin new_branch_name:master
  • Se si desidera verificare lo stato, utilizzare: git status
  • Se vuoi controllare allora usa: git checkout
2
Vineet Jain

In PhpStorm:

VCS → Git → Rami ... → Rami locali →YOUR_BRANCH→ Rinomina

1
AlexSi

Rinomina il ramo attuale

git branch -m <newbranchname>

o

git branch -m oldbranchname newbranchname
0
panthari