web-dev-qa-db-fra.com

Comment renommer une branche Git locale?

Je ne souhaite pas renommer une branche distante, comme décrit dans renommer la branche maître pour les référentiels Git locaux et distants.

Comment puis-je renommer une branche locale qui n'a pas été poussée vers une branche distante?

Si vous devez renommer une branche distante :
Comment renommer un nom de branche locale et distante Git

7832
Forrest

Si vous souhaitez renommer une branche en pointant sur une branche, procédez comme suit:

git branch -m <oldname> <newname>

Si vous voulez renommer la branche actuelle, vous pouvez faire:

git branch -m <newname>

Une façon de s'en souvenir est que -m est utilisé pour "déplacer" (ou mv), ce qui vous permet de renommer des fichiers.

Si vous utilisez Windows ou un autre système de fichiers ne faisant pas la distinction entre les majuscules et les minuscules, et que le nom change de mise en majuscule, vous devez utiliser -M, sinon git lancera la branche existe déjà erreur:

git branch -M <newname>
12587
siride
git branch -m old_branch_name new_branch_name

La commande ci-dessus changera le nom de votre branche, mais vous devrez faire très attention en utilisant la branche renommée, car elle fera toujours référence à l'ancienne branche en amont qui lui est associée, le cas échéant.

Si vous souhaitez appliquer certaines modifications au maître après que votre branche locale a été renommée en nouveau_nom_du_groupe (nom de l'exemple):

git Push Origin new_branch_name:master (les modifications iront maintenant à la branche principale, mais le nom de votre branche locale est new_branch_name)

Pour plus de détails, voir " Comment renommer le nom de votre branche locale dans Git ".

407
Madhan Ayyasamy

Pour renommer votre branche actuelle:

git branch -m <newname>
295
Jonathan

Voici les étapes à suivre pour renommer la branche:

  1. Basculer vers la branche à renommer
  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): Assurez-vous que vous exécutez la commande git status et vérifiez que la branche nouvellement créée pointe vers sa propre référence et non l'ancienne. Si vous trouvez la référence à l’ancienne branche, vous devez désinstaller l’amont en utilisant:

git branch --unset-upstream
249
Milind Anantwar

Renommer la branche sera utile une fois que votre branche est terminée. Ensuite, de nouveaux éléments sont à venir et vous souhaitez développer dans la même branche au lieu de les supprimer et de créer le nouveau.

D'après mon expérience, pour renommer une branche locale et distante dans Git, procédez comme suit.

Citant de Plusieurs états - renommer une branche locale et distante dans git

1. Renommez votre succursale

Si vous êtes sur la branche que vous souhaitez renommer:

git branch -m new-name

Si vous êtes sur une autre branche:

git branch -m old-name new-name

2. Supprimez l'ancienne branche distante et transférez la nouvelle branche locale.

git Push Origin :old-name new-name

3. Réinitialisez la branche en amont de la branche locale new-name

git Push Origin -u new-name
182
trungk18

Les réponses à ce jour sont correctes, mais voici quelques informations supplémentaires:

On peut renommer une branche avec '-m' (déplacer), mais il faut faire attention, car '-M' force le changement de nom, même s'il existe déjà une branche du même nom. Voici l'extrait de la page de manuel 'git-branch':

> Avec une option -m ou -M, <oldbranch> sera renommé en <newbranch>. Si <oldbranch> avait un reflog correspondant, il est renommé pour correspondre à <newbranch> et une entrée de reflog est créée pour rappeler le changement de nom de la branche. Si <newbranch> existe, -M doit être utilisé pour forcer le changement de nom.

102
Vanchev

1. renommer

Si c'est votre branche actuelle, il suffit de le faire

git branch -m new_name

Si c'est une autre branche que vous souhaitez renommer

git branch -m old_name new_name

2. Suivre une nouvelle branche distante

- Si votre branche a été poussée, alors après avoir renommé, vous devez la supprimer du référentiel Git distant et demander à votre nouveau local de suivre une nouvelle branche distante:

git Push Origin :old_name
git Push --set-upstream Origin new_name
84
Oss

J'ai bêtement nommé une branche commençant par un trait d'union, puis extrait master. Je ne voulais pas supprimer ma branche, j'avais du travail dedans.

Aucun de ceux-ci n'a fonctionné:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's et \s n'ont pas aidé non plus. git branch -m ne fonctionne pas.

Voici comment je l'ai finalement résolu. Allez dans .git/refs/heads de votre copie de travail, trouvez le nom de fichier "-dumb-name", obtenez le hachage de la branche. Ensuite, cela va vérifier, créer une nouvelle branche avec un nom sain et supprimer l’ancienne.

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

Pour renommer une branche localement:

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

Vous devez maintenant propager ces modifications sur votre serveur distant.

Pour transmettre les modifications de l'ancienne branche supprimée:

git Push Origin :[old-branch]

Pour pousser les changements de création de nouvelle branche:

git Push Origin [new-branch]
65
aliasav

Renommez la branche en utilisant cette commande:

git branch -m [old_branch_name] [new_branch_name]

-m: Renomme/déplace la branche. S'il y a déjà une branche, vous obtiendrez une erreur.

S'il existe déjà une branche et que vous souhaitez renommer cette branche, utilisez:

 git rename -M [old_branch_name] [new_branch_name]

Pour plus d'informations sur l'aide, utilisez cette commande dans le terminal:

git branch --help

ou

man git branch
38
Hafiz Shehbaz Ali

Les utilisateurs avancés de Git peuvent renommer manuellement en utilisant:

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

renommer la branche:

git branch -m old_branchname new_branchname

Ici, le nom long de l'option -m est --move. Donc on peut aussi utiliser:

git branch --move old_branchname new_branchname

Si vous souhaitez renommer la branche actuelle, utilisez ceci:

git branch -m new_branchname

ou

git branch -move new_branchname

Si vous souhaitez déplacer ces modifications vers remote, utilisez ce qui suit.

git Push Origin :old_branchname new_branchname

Ceci supprimera la branche distante old_branchname et poussera la branche locale new_branchname.

git Push Origin -u new_branchname

Cela réinitialisera la branche en amont de la branche locale new_branchname.

35
Ajmal sha
  1. Renommez votre branche locale.

Si vous êtes sur la branche que vous souhaitez renommer:

git branch -m new-name

Si vous êtes sur une autre branche:

git branch -m old-name new-name
  1. Supprimez l'ancienne branche distante et transmettez la nouvelle branche locale.

git Push Origin :old-name new-name

  1. Réinitialisez la branche en amont pour la branche locale du nouveau nom. Basculer vers la branche puis:

git Push Origin -u new-name

Ou pour un moyen rapide de le faire, vous pouvez utiliser ces 3 étapes:

# Renommer la branche localement

git branch -m old_branch new_branch  

# Supprimer l'ancienne branche distante

git Push Origin :old_branch  

# Poussez la nouvelle branche, configurez la branche locale pour suivre la nouvelle télécommande

git Push --set-upstream Origin new_branch   

Référence: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

29
badarshahzad

Voici trois étapes: Une commande que vous pouvez appeler à l'intérieur de votre terminal et changer le nom de la branche.

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

Si vous avez besoin de plus: étape par étape, Comment changer le nom de la branche de Git est un bon article à ce sujet.

24

Comme d'autres l'ont probablement mentionné, il s'agira d'une incompatibilité de cas dans la dénomination de branche.

Si vous avez une telle situation, je suppose que vous utilisez Windows, ce qui vous amènera également à:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

Ensuite, vous devez faire une étape intermédiaire:

$ git branch -m temporary
$ git branch -m casesensitive

Rien de plus.

23
P4C

Essayer de répondre spécifiquement à la question (au moins le titre).

Vous pouvez également renommer une branche locale , mais conserve le suivi de l'ancien nom sur la télécommande.

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

Maintenant, lorsque vous exécutez git Push, le old_branch ref distant est mis à jour avec votre new_branch local.

Vous devez connaître et mémoriser cette configuration. Mais cela peut être utile si vous n'avez pas le choix du nom de la branche distante, mais vous ne l'aimez pas (oh, je veux dire, vous avez un très bon raison de ne pas l'aimer!) et préférez un nom plus clair pour votre agence locale.

En jouant avec la configuration d'extraction, vous pouvez même renommer la référence distante locale. c'est-à-dire que le pointeur refs/remote/Origin/new_branch ref de la branche est en fait le old_branch sur Origin. Cependant, je le déconseille vivement, pour la sécurité de votre esprit.

22

Si vous êtes prêt à utiliser SourceTree (ce que je recommande fortement), vous pouvez cliquer avec le bouton droit de la souris sur votre branche et choisir "Renommer".

enter image description here

20
Marcin Szymczak

Pour renommer la branche actuelle (à l'exception de l'état détaché HEAD, vous pouvez également utiliser cet alias:

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

Changer la branche localement est assez facile ...

Si vous êtes sur la branche pour laquelle vous souhaitez modifier le nom, procédez comme suit:

git branch -m my_new_branch

Sinon, si vous êtes sur master ou dans une autre branche que celle dont vous souhaitez changer le nom, faites simplement:

git branch -m my_old_branch my_new_branch

De plus, je crée l'image ci-dessous pour montrer cela en action sur une ligne de commande . Dans ce cas, vous êtes sur la branche master, par exemple:

Change branch name locally

19
Alireza

Une autre option consiste à ne pas utiliser la ligne de commande du tout. Les clients Git GUI tels que SourceTree suppriment une bonne partie de la courbe d’apprentissage syntaxique qui fait que des questions comme celle-ci figurent parmi les plus consultées sur Stack Overflow.

Dans SourceTree, cliquez avec le bouton droit sur une branche locale dans le volet "Branches" de gauche et sélectionnez "Renommer ...".

17
Steve Chambers

Juste deux étapes pour répliquer le changement de nom sur remote ainsi que sur GitHub:

Étape 1 git branch -m old_branchname new_branchname

Étape 2 git Push Origin :old_branchname new_branchname

14
Harry_pb

Puisque vous ne voulez pas envoyer la branche à un serveur distant, cet exemple sera utile:

Supposons que vous avez une branche existante appelée "my-hot-feature" et que vous souhaitez la renommer "feature-15".

Tout d'abord, vous voulez changer de succursale. Cela ne pourrait pas être plus facile:

git branch -m my-hot-feature feature-15

Pour plus d'informations, vous pouvez visiter renommer localement et à distance une branche dans Git.

14
Tanah

version Git 2.9.2

Si vous voulez changer le nom de la branche locale sur laquelle vous vous trouvez:

git branch -m new_name

Si vous voulez changer le nom d'une autre branche:

git branch -m old_name new_name

Si vous voulez changer le nom d'une autre branche en un nom qui existe déjà:

git branch -M old_name new_name_that_already_exists

Remarque: la dernière commande est destructive et renommera votre branche, mais vous perdrez l'ancienne branche portant ce nom et ces commandes, car les noms des branches doivent être uniques.

12
nikkypx

Un moyen simple de le faire:

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

Pour plus, voir this .

11
Nomade

Si vous souhaitez modifier le nom de la branche actuelle, exécutez:

git branch -m [old_branch] [new_branch]

Si vous souhaitez supprimer l'ancienne branche distante, exécutez:

git Push Origin :[old_branch]

Si vous souhaitez supprimer l'ancienne branche distante et créer une nouvelle branche distante, exécutez:

git Push Origin :old_branch new_branch
10
Arif
git branch -m old_branch_name  new_branch_name

ou

git branch --move old_branch_name new_branch_name
5
user128364

Pour les utilisateurs de l’interface graphique Git, rien de plus simple. Dans l'interface graphique de Git, choisissez le nom de la branche dans la liste déroulante de la boîte de dialogue "Renommer la branche" créée à partir de l'élément de menu Branche: renommer, saisissez un nouveau nom et cliquez sur "Renommer". J'ai mis en évidence où trouver la liste déroulante.

Rename a local Git branch

5
Ivan

Le changement de nom de branche Git peut être effectué en utilisant:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

La différence entre - m et - M:

- m: si vous essayez de renommer votre branche avec un nom de branche existant à l'aide de - m. Il y aura une erreur en disant que la branche existe déjà. Vous devez donner un nom unique.

Mais,

- M: Cela vous aidera à forcer le renommage avec un prénom, même s'il existe. Donc, une branche existante écrasera entièrement avec elle ...

Voici un exemple de terminal Git,

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$
4

Toutes les réponses précédentes parlent de git branch -m. Bien sûr, il est facile à utiliser, mais pour moi, il peut être un peu difficile de se rappeler un autre commandement Git. J'ai donc essayé de faire le travail avec le commandement que je connaissais bien. Ouais, vous l'aurez deviné.

J'utilise git branch -b <new_branch_name>. Et si vous ne voulez pas sauvegarder l'ancienne branche maintenant, vous pouvez exécuter git branch -D <old_branch_name> pour la supprimer.

Je sais que c'est peut-être un peu fastidieux, mais c'est plus facile à comprendre et à retenir. J'espère que cela vous aidera.

3
Dai Kaixian

Si tu veux:

  • Renommez le référentiel Git, exécutez: git branch -m <oldname> <newname>
  • Supprimer l'ancienne branche par: git Push Origin: old-name new-name
  • Engagez-le en utilisant: git commit <newname>
    • puis Push en utilisant: git Push Origin new_branch_name:master
  • Si vous voulez vérifier le statut, utilisez: git status
  • Si vous voulez vérifier, utilisez: git checkout
2
Vineet Jain

Dans PhpStorm:

VCS → Git → Branches ... → Branches locales → VOTRE_BRANCH → Renommer

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

-m signifie tout déplacer de [ancienne-branche] à [nouvelle-branche] et n'oubliez pas que vous pouvez utiliser -M pour d'autres systèmes de fichiers.

0
Saad Bilal

Renommer la branche actuelle

git branch -m <newbranchname>

ou

git branch -m oldbranchname newbranchname
0
panthari