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
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>
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 ".
Pour renommer votre branche actuelle:
git branch -m <newname>
Voici les étapes à suivre pour renommer la branche:
git branch -m <new_name>
git Push Origin :<old_name>
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
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
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
git Push Origin :old-name new-name
git Push Origin -u new-name
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.
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
- 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
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
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]
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
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
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
.
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
git Push Origin :old-name new-name
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
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.
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.
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.
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".
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'
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:
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 ...".
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
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.
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.
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 .
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
git branch -m old_branch_name new_branch_name
ou
git branch --move old_branch_name new_branch_name
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.
Le changement de nom de branche Git peut être effectué 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 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$
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.
Si tu veux:
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
Dans PhpStorm:
VCS → Git → Branches ... → Branches locales → VOTRE_BRANCH → Renommer
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.
Renommer la branche actuelle
git branch -m <newbranchname>
ou
git branch -m oldbranchname newbranchname