Comment renommer une branche git locale?
Je ne souhaite pas renommer une branche distante, comme décrit dans la section Renommer la branche principale pour les référentiels Git locaux et distants.
Comment renommer une branche locale sur laquelle vous n'avez pas cliqué sur une branche distante?
Si vous souhaitez renommer une branche en la 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>
La façon de s'en souvenir est, -m
pour "déplacer" (ou mv
), c'est-à-dire comment renommer des fichiers.
git branch -m old_branch_name new_branch_name
La commande ci-dessus changera le nom de votre branche, mais vous devez faire très attention à la branche renommée, car elle fera toujours référence à la branche en amont qui lui est associée, le cas échéant.
Si vous souhaitez déplacer certaines modifications dans l'assistant après que la branche locale a été renommée en nouveau_nom_branch (nom d'exemple):

git push origin new_branch_name:master
(à présent, les modifications iront à la branche principale, mais le nom de votre branche locale est new_branch_name)
Pour plus de détails, consultez " Comment renommer le nom d'une branche locale dans Git .
Pour renommer la branche actuelle:
git branch -m <newname>
Voici les étapes à suivre pour renommer une branche:
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>
EDIT (01/12/2017): Assurez-vous d'exécuter la commande git status
et assurez-vous que la branche nouvellement créée pointe vers sa propre référence et non vers l'ancienne. Si vous trouvez un lien vers une ancienne branche, vous devez annuler l'amont en utilisant:
git branch --unset-upstream
Renommer une branche sera utile après avoir terminé votre branche. Vient ensuite le nouveau matériel que vous souhaitez développer dans la même branche, sans le supprimer ni en créer un nouveau.
D'après mon expérience, pour renommer une branche locale et distante dans Git, vous devez suivre les étapes suivantes.
Citation de plusieurs états. Renommer la branche locale et distante en git
1. Renommer la branche locale
Si vous êtes dans une succursale, vous voulez renommer:
git branch -m new-name
Si vous êtes sur une autre branche:
git branch -m old-name new-name
2. Supprimez la branche distante de l'ancien nom et cliquez sur la branche locale du nouveau nom.
git push origin :old-name new-name
3. Réinitialisez la branche en amont pour la branche locale du nouveau nom.
git push origin -u new-name
Les réponses sont jusqu’à présent correctes, mais voici quelques informations supplémentaires: Vous pouvez renommer une branche avec "-m" (déplacer), mais vous devez faire attention, car "-M" vous oblige à le renommer, même s’il existe une branche du même nom. Voici un extrait de la page de manuel git -branch:
Avec l'option -m ou -M,
<oldbranch>
sera renommé<newbranch>
. Si<oldbranch>
a un reflog correspondant, il est renommé pour correspondre à<newbranch>
et une entrée de reflog est créée pour rappeler le changement de nom des branches. Si<newbranch>
existe, -M doit être utilisé pour forcer un changement de nom.
1. renommer
Si c'est votre sujet actuel, juste
git branch -m new_name
S'il s'agit d'une autre branche que vous souhaitez renommer
git branch -m old_name new_name
2. Suivre une nouvelle branche distante
. Si vous avez cliqué sur votre branche, vous devez la supprimer du référentiel Git distant après l'avoir renommée et demander à la nouvelle piste locale de la nouvelle branche distante:
git push origin :old_name git push --set-upstream origin new_name
J'ai bêtement appelé une branche commençant par un trait d'union, puis vérifié le maître. Je ne voulais pas enlever ma branche, j'y travaillais.
Aucun d'entre eux n'a fonctionné:
git checkout -dumb-name
git checkout -- -dumb-name
"
s, '
et \
n'ont également pas aidé. git branch -m
ne fonctionne pas.
C'est comme ça que j'ai finalement résolu le problème. Allez à votre copie de travail de .git / refs / heads, trouvez le nom de fichier "-dumb-name", obtenez le hachage de la branche. Ensuite, il sera vérifié, créez une nouvelle branche avec un nom raisonnable et supprimez l’ancienne.
git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name
Pour renommer une branche localement:
git branch -m [old-branch] [new-branch]
Maintenant, vous devrez également propager ces modifications sur un serveur distant.
Pour soumettre les modifications à une ancienne branche supprimée:
git push origin :[old-branch]
Pour apporter des modifications à la création d'une nouvelle branche:
git push origin [new-branch]
Renommez la branche en utilisant cette commande:
git branch -m [old_branch_name] [new_branch_name]
-m
: il renomme / déplace une branche. S'il y a une branche, vous recevrez un message d'erreur.
S'il existe déjà une branche et que vous souhaitez la renommer avec 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
Les utilisateurs de Git étendus peuvent renommer manuellement:
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
Comme d'autres l'ont mentionné, il s'agira probablement d'un décalage dans le nom des branches.
Si vous avez cette situation, je devine que vous êtes sur Windows, ce qui vous mènera également à:
$ git branch -m CaseSensitive casesensitive fatal: A branch named 'casesensitive' already exists.
Ensuite, vous devez prendre une étape intermédiaire:
$ git branch -m temporary $ git branch -m casesensitive
Rien de plus.
Essayez de répondre spécifiquement à la question (au moins le titre).
Vous pouvez également renommer la branche locale, mais gardez une trace 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
Désormais, lorsque vous exécutez git push
, la old_branch
distante old_branch
est mise à jour vers la new_branch
locale.
Vous devez connaître et retenir 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 une très bonne raison de ne pas l'aimer!) Et ils préfèrent un nom plus clair pour votre représentant local. branches.
En jouant avec l'exemple de configuration, vous pouvez même renommer le lien distant local. c'est-à-dire avoir un refs/remote/origin/new_branch
ref refs/remote/origin/new_branch
pour la branche, c'est-à-dire, old_branch
à l' origin
. Cependant, cela me décourage beaucoup, pour la sécurité de votre esprit.
Une autre option consiste à ne pas utiliser la ligne de commande du tout. Les clients Git GUI, tels que SourceTree , suppriment la majeure partie de la courbe de syntaxe apprentissage / difficulté, ce qui soulève des problèmes tels que celui-ci le plus vu dans un débordement de pile.
Dans SourceTree, cliquez avec le bouton droit sur une branche locale dans le panneau "Branches" à gauche et sélectionnez "Renommer ...".
Voici trois étapes: une commande que vous pouvez appeler dans votre terminal et modifier 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 Git d’une branche est un bon article à ce sujet.
Pour renommer la branche actuelle (à l'exception d'un état HEAD distinct), vous pouvez également utiliser cet alias:
[alias] mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
Puisque vous ne voulez pas pousser une branche sur 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 branche locale. Cela ne pourrait pas être plus facile:
git branch -m my-hot-feature feature-15
Pour plus d'informations, vous pouvez visiter le site Local et renommer à distance la branche en Git .
Si vous souhaitez utiliser SourceTree (ce que je recommande vivement), vous pouvez cliquer avec le bouton droit de la souris sur votre branche et sélectionner "Renommer".
git version 2.9.2
Si vous souhaitez modifier le nom de la succursale 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 souhaitez remplacer le nom d'une autre branche par un nom existant:
git branch -M old_name new_name_that_already_exists
Note La dernière commande est destructive et renomme votre branche, mais vous perdrez l’ancienne branche portant ce nom et ils la répareront, car les noms des branches doivent être uniques.
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
Changer une branche localement est assez simple! ...
Si vous vous trouvez dans une succursale et que vous souhaitez modifier le nom, procédez comme suit:
git branch -m my_new_branch
Sinon, si vous êtes sur le master
ou sur une autre branche , à l'exception de celle que vous souhaitez modifier, exécutez simplement:
git branch -m my_old_branch my_new_branch
De plus, je crée une image ci-dessous pour la montrer en action sur la ligne de commande. Dans ce cas, vous êtes dans la branche principale, par exemple:
Si vous souhaitez renommer le référentiel git -
git branch -m <oldname> <newname>
enlever l'ancienne branche par-
git push origin :old-name new-name
Le réparer avec
git commit <newname>
puis cliquez sur utilisant git push origin new_branch_name:master
Si vous voulez vérifier le statut, utilisez: -
git status
Si vous voulez vérifier, alors: -
git checkout
Tout ce qui précède parle de la git branch -m
. Bien sûr, il est facile de travailler avec, mais il peut être un peu difficile pour moi de me souvenir d’une autre commande git. J'ai donc essayé de faire le travail avec l'équipe que je connaissais bien. Oui, vous pouvez deviner.
J'utilise git branch -b <new_branch_name>
. Et si vous ne souhaitez pas conserver l’ancienne branche, vous pouvez git branch -D <old_branch_name>
pour la supprimer.
Je sais que cela peut être un peu fatiguant, mais c'est plus facile à comprendre et à retenir. J'espère que cela vous sera utile.
Git renommer une branche peut être fait en utilisant
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
La différence entre -m et -M ,
-m: si vous essayez de renommer votre branche avec la sortie du nom de la branche à l'aide de -m, cela provoquera une erreur, indiquant que la branche existe déjà. Vous devez spécifier un nom unique.
mais
-M :, cela vous aidera à renommer de force avec le nom donné, même s'il existe. par conséquent, la branche existante l'écrase complètement ...
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$
Autres questions sur git git-branch tags ou Poser une question