Je ne veux pas renommer une branche distante, comme décrit dans Renommer la branche principale pour les référentiels Git locaux et distants .
Comment renommer une branche locale qui n'a pas été poussée vers une branche distante?
Si vous devez également renommer une branche distante :
comment renommer à la fois un nom de branche locale et distante Git
la source
git push -f --mirror
, il renommera la branche sur la télécommande, mais vous ne devez utiliser cette méthode que si la télécommande doit simplement être une copie de votre référentiel actuel. Voir aussi cette question: stackoverflow.com/questions/1526794/git-rename-remote-branchpush.default
est configuré. Par défaut (matching
), il poussera vers une télécommande dont le nom correspond. Vous auriez à fairegit push origin <newname>:<oldname>
ou vous allez créer une nouvelle branche distante. Cependant, sipush.default
est défini surupstream
, vous pouvezpush origin head
et les choses iront à l'ancien nom sur la télécommande.mv
pour renommer les fichiers. La raison en est que le déplacement et le changement de nom, dans un système de fichiers inode basé sur un répertoire, sont entièrement équivalents.-m
option est--move
, par exemple,git branch --move master
renomme la branche courante pour être appelée "maître".La commande ci-dessus changera le nom de votre branche, mais vous devez être très prudent 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 insérer des modifications dans master après que votre branche locale a été renommée en new_branch_name (exemple de nom):
git push origin new_branch_name:master
(maintenant les changements 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 de votre branche locale dans Git ».
la source
Pour renommer votre branche actuelle:
la source
Voici les étapes 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 d'exécuter la commande
git status
et vérifiez que la branche nouvellement créée pointe vers sa propre référence et non vers la plus ancienne. Si vous trouvez la référence à l'ancienne branche, vous devez désinstaller l'amont en utilisant:la source
Renommer la branche sera utile une fois votre branche terminée. Ensuite, de nouvelles choses arrivent, et vous souhaitez développer dans la même branche au lieu de la supprimer et de créer la nouvelle.
D'après mon expérience, pour renommer une branche locale et distante dans Git, vous devez suivre les étapes suivantes.
1. Renommez votre succursale locale
Si vous êtes sur la branche que vous souhaitez renommer:
Si vous êtes dans une autre branche:
2. Supprimez l'ancienne branche distante et appuyez sur la nouvelle branche locale
3. Réinitialisez la branche en amont pour la nouvelle branche locale
la source
error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
git push origin :old-name new-name
non?Jusqu'à présent, les réponses étaient correctes, mais voici quelques informations supplémentaires:
On peut renommer une branche en toute sécurité avec '-m' (déplacer), mais il faut faire attention avec '-M', car cela force le renommage, même s'il existe déjà une branche portant le même nom. Voici l'extrait de la page de manuel 'git-branch':
la source
-M
drapeau est également utile pour forcer un changement de nom si vous corrigez simplement la casse du nom de la branche, par exemple en changeantmyBranch
enMyBranch
. (Avec-m
, git revientfatal: A branch named 'MyBranch' already exists.
)1. Renommer
Si c'est votre branche actuelle, faites
S'il s'agit d'une autre branche que vous souhaitez renommer
2. Suivre une nouvelle branche distante
- Si votre branche a été poussée, après le changement de nom, vous devez la supprimer du référentiel Git distant et demander à votre nouveau local de suivre une nouvelle branche distante:
la source
J'ai stupidement nommé une branche commençant par un trait d'union, puis j'ai vérifié master. Je ne voulais pas supprimer ma branche, j'avais du travail dedans.
Aucun de ces éléments 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 corrigé. Allez dans .git / refs / heads de votre copie de travail, trouvez le nom de fichier "-dumb-name", récupérez le hachage de la branche. Ensuite, cela le vérifiera, créera une nouvelle branche avec un nom sain et supprimera l'ancienne.
la source
reflog
Pour renommer une branche localement:
Maintenant, vous devrez également propager ces modifications sur votre serveur distant.
Pour pousser les modifications de l'ancienne branche supprimée:
Pour pousser les changements de création de nouvelle branche:
la source
Seulement trois étapes pour répliquer le changement de nom
remote
sur GitHub ainsi que sur:Étape 1
git branch -m old_branchname new_branchname
Étape 2
git push origin :old_branchname new_branchname
Étape 3
git push --set-upstream origin new_branchname
la source
git push --set-upstream origin new_branchname
qui est mentionnée dans la réponse @NomadeRenommez la branche à l'aide de cette commande:
-m
: Il 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 avec cette branche, utilisez:
Pour plus d'informations sur l'aide, utilisez cette commande dans le terminal:
ou
la source
Les utilisateurs avancés de Git peuvent renommer manuellement en utilisant:
la source
Si vous êtes sur la branche que vous souhaitez renommer:
Si vous êtes dans une autre branche:
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 succursale localement
# Supprimer l'ancienne branche distante
# Appuyez sur la nouvelle branche, définissez la branche locale pour suivre la nouvelle télécommande
Référence: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
la source
Voici trois étapes: Une commande que vous pouvez appeler à l'intérieur de votre terminal et changer le nom de la branche.
Si vous en avez besoin de plus: étape par étape, Comment changer le nom de la branche Git est un bon article à ce sujet.
la source
Probablement comme mentionné par d'autres, il s'agira d'un décalage de cas dans la dénomination des branches.
Si vous avez une telle situation, je suppose que vous êtes sous Windows, ce qui vous mènera également à:
Ensuite, vous devez faire une étape intermédiaire:
Rien de plus.
la source
-M
au lieu de-m
pour effectuer ce type de «correction de casse» en un seul passage.Essayer de répondre spécifiquement à la question (au moins le titre).
Vous pouvez également renommer la branche locale , mais continue de suivre l'ancien nom sur la télécommande.
Maintenant, lorsque vous exécutez
git push
, laold_branch
référence distante est mise à jour avec votre localnew_branch
.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 une très bonne raison de ne pas l'aimer!) Et préférez un plus clair nom de votre succursale locale.
En jouant avec la configuration d'extraction, vous pouvez même renommer la référence distante locale. c'est-à-dire, avoir un
refs/remote/origin/new_branch
pointeur ref vers la branche, c'est en fait leold_branch
onorigin
. Cependant, je décourage fortement cela, pour la sécurité de votre esprit.la source
Changer la succursale localement est assez facile ...
Si vous êtes sur la branche dont vous souhaitez changer le nom, faites simplement ceci:
Sinon, si vous êtes sur
master
ou dans une autre branche que celle dont vous souhaitez changer le nom, faites simplement:Aussi, je crée l'image ci-dessous pour le montrer en action sur une ligne de commande . Dans ce cas, vous êtes en
master
succursale, par exemple:la source
Si vous êtes prêt à utiliser SourceTree (ce que je recommande fortement), vous pouvez cliquer avec le bouton droit sur votre branche et choisir «Renommer».
la source
Pour renommer la branche actuelle (sauf pour l'état HEAD détaché), vous pouvez également utiliser cet alias:
la source
Une autre option consiste à ne pas utiliser du tout la ligne de commande. Les clients Git GUI tels que SourceTree enlèvent une grande partie de la courbe / douleur d'apprentissage syntaxique qui fait que des questions comme celle-ci sont parmi les plus vues sur Stack Overflow.
Dans SourceTree, faites un clic droit sur une branche locale dans le volet "Branches" sur la gauche et sélectionnez "Renommer ...".
la source
Une façon simple de le faire:
Pour en savoir plus, voyez ceci .
la source
Comme vous ne voulez pas pousser la branche vers un serveur distant, cet exemple sera utile:
Supposons que vous ayez une branche existante appelée «my-hot-feature» et que vous souhaitiez la renommer «feature-15».
Tout d'abord, vous souhaitez modifier votre succursale locale. Cela ne pourrait pas être plus simple:
Pour plus d'informations, vous pouvez visiter Renommer localement et à distance une succursale dans Git .
la source
Git version 2.9.2
Si vous souhaitez modifier le nom de la succursale locale sur laquelle vous vous trouvez:
Si vous souhaitez modifier le nom d'une autre branche:
Si vous souhaitez remplacer le nom d'une branche différente par un nom qui existe déjà:
Remarque: La dernière commande est destructrice et renommera votre branche, mais vous perdrez l'ancienne branche avec ce nom et ces validations car les noms de branche doivent être uniques.
la source
Si vous souhaitez modifier le nom de la branche actuelle, exécutez:
Si vous souhaitez supprimer l'ancienne branche distante, exécutez:
Si vous souhaitez supprimer l'ancienne branche distante et créer une nouvelle branche distante, exécutez:
la source
Le changement de nom de branche Git 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 un nom de branche existant en utilisant -m . Cela générera une erreur indiquant que la branche existe déjà. Vous devez donner un nom unique.
Mais,
-M: cela vous aidera à forcer le renommage avec un nom donné, même s'il existe. Ainsi, une branche existante sera entièrement remplacée par elle ...
Voici un exemple de terminal Git,
la source
Pour les utilisateurs de Git GUI, cela ne pourrait pas être beaucoup plus simple. Dans l'interface graphique 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.
la source
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
la source
Toutes les réponses précédentes parlent de
git branch -m
. Bien sûr, c'est facile à utiliser, mais pour moi, il peut être un peu difficile de se souvenir d'une autre commande Git. J'ai donc essayé de faire le travail par la commande que je connaissais. Ouais, vous pouvez le deviner.J'utilise
git branch -b <new_branch_name>
. Et si vous ne souhaitez pas enregistrer l'ancienne branche, vous pouvez maintenant l'exécutergit branch -D <old_branch_name>
pour la supprimer.Je sais que cela peut être un peu fastidieux, mais c'est plus facile à comprendre et à retenir. J'espère que cela vous sera utile.
la source
Dans PhpStorm:
VCS → Git → Branches ... → Branches locales → _votre_branche_ → Renommer
la source
Tout ce que vous avez à faire, ce sont les trois étapes:
la source