Comment renommer une branche dans Git
Pour renommer la branche locale actuelle, utilisez « git branch -m new-name ». Pour renommer une branche locale depuis une autre, utilisez « git branch -m ancien-nom nouveau-nom ». Pour renommer une branche distante, supprimez-la avec « git push origin –delete old-name », puis poussez la branche locale renommée avec « git push origin -u new-name ».
La création de branches est un exercice trivial dans Git. Malheureusement, les tâches triviales reçoivent rarement l’attention voulue et des erreurs se produisent. Si vous avez mal nommé une branche, elle devra être renommée. Voici comment procéder.
Sommaire
Pourquoi les noms de branche sont importants dans Git
Tout ce qui concernait les branches dans les systèmes de contrôle de version classiques (VCS) était un gros problème. Cela nécessitait une compréhension coordonnée qu’une branche était ajoutée ou fusionnée, et toutes les personnes utilisant ce référentiel devaient s’assurer qu’elles ne faisaient rien ou oubliaient de faire quelque chose pour que l’opération se poursuive et réussisse.
Les opérations impliquant des succursales étaient également souvent très lentes. Il y avait une pénalité de temps en utilisant des branches. Git a été conçu dès le départ pour être différent. Comme il s’agit d’un système de contrôle de version distribué, chaque utilisateur dispose d’une copie du référentiel complet sur sa machine locale.
La création de branches sur votre ordinateur local n’affecte personne d’autre, sauf si vous poussez la branche vers un référentiel distant. Et dans Git, les opérations de branche sont conçues pour être aussi faciles à utiliser que rapides à réaliser. La création de branches dans Git est très bon marché en termes de calcul. Il s’agit d’une action triviale à l’intérieur du référentiel local.
En fait, les développeurs sont encouragés à créer des branches, et à créer souvent des branches. Les succursales ne sont qu’un autre outil à l’intérieur de votre VCS dont vous bénéficiez. Les branches ne sont pas de grandes choses effrayantes dans Git, elles sont l’une de ses fonctionnalités les plus utilisées.
Mais la familiarité peut conduire au mépris. Ou, du moins, à une considération désinvolte pour les branches. La création de branches peut être simple et rapide dans Git, mais vous devez toujours être concentré lorsque vous créez une branche. Il est facile de mal taper un nom de branche ou de taper le mauvais nom, ce qui donne une branche mal nommée.
Si la branche doit être poussée vers le référentiel distant à un moment donné, elle doit être correctement orthographiée. Si ce n’est pas le cas, cela causera de la confusion lorsque d’autres essaieront de l’utiliser.
Lister les branches dans Git avant de les renommer
Vérifier quels sont les noms de branche actuels est une bonne première étape. La git branch
La commande répertorie les branches pour nous. Vous pouvez voir les branches dans le dépôt local avec cette commande :
git branch
Les succursales sont répertoriées pour nous. La branche actuelle est surlignée en vert et avec un astérisque.
Pour voir les branches et leurs commits, vous pouvez utiliser le show-branch
commande.
git show-branch
Vous pouvez voir les branches sur le référentiel distant en incluant l’option -r (distant).
git branch -r
Pour voir les branches locales et distantes avec une seule commande, utilisez le -a
(toutes) options.
git branch -a
Nous avons plus de succursales locales que de succursales éloignées. La branche « feature16 » n’a pas encore été poussée vers le référentiel distant. C’est juste un aspect du fonctionnement normal, pas un problème.
Notre problème est que la branche « feature19 » aurait dû être nommée « feature18 ». C’est donc l’erreur que nous allons corriger.
Comment renommer une branche locale dans Git
Il existe deux manières de renommer une branche localement. Vous pouvez extraire la branche et la renommer, ou vous pouvez renommer la branche pendant que vous travaillez dans une autre branche.
Pour renommer le courant branche, assurez-vous d’avoir vérifié et d’utiliser la branche que vous souhaitez renommer. Utilisez ensuite le git branch
commande avec le -m
option (déplacer).
git checkout feature19
git branch -m feature18
Nous avons extrait la branche « feature19 » et l’avons renommée « feature18 ». Voyons à quoi ressemblent nos succursales maintenant.
git branch
Notre branche a maintenant le nom correct dans le référentiel local.
Si vous le souhaitez, vous pouvez renommer une branche lorsque vous travaillez dans une autre branche. Voici un exemple où nous travaillons dans la branche « master ».
git branch
La commande que nous utilisons est la même que précédemment, mais nous devons fournir le nom actuel de la branche que nous renommons, ainsi que le nouveau nom que nous voulons lui donner.
git branch -m feature19 feature18
git branch
Encore une fois, la branche de notre référentiel local a été renommée avec le nom correct.
Comment renommer une branche distante dans Git
Le référentiel distant contient toujours la branche avec l’ancien nom. Pour renommer une branche distante, nous supprimons l’ancienne branche et poussons la nouvelle branche.
Si d’autres utilisateurs utilisent cette branche et y envoient des commits, vous devriez faire un pull avant de la renommer localement. Cela garantit que votre référentiel local est à jour et que les modifications apportées par d’autres utilisateurs ne seront pas perdues. Récupérer leurs modifications dans votre référentiel avant de renommer la branche localement signifie que ces modifications seront dans la nouvelle branche lorsque vous la repousserez vers le référentiel distant.
Jetons un coup d’œil à l’état de nos succursales. Nous utiliserons le -a
(toutes) option pour voir à la fois les branches locales et distantes.
git branch -a
Nous devons supprimer « feature19 » du référentiel distant et pousser « feature18 » vers la télécommande.
git push origin --delete feature19
Vous serez invité à saisir le mot de passe du référentiel distant. Une fois la suppression effectuée, vous verrez un message de confirmation.
Nous allons maintenant pousser notre nouvelle branche vers la télécommande et utiliser l’option -u (définir en amont)
git push origin -u feature18
Encore une fois, vous serez invité à entrer votre mot de passe pour la télécommande. La nouvelle branche est poussée vers la télécommande, et on nous dit que la branche « feature18 » est configurée pour suivre les changements dans notre copie locale de la branche.
Vérifions une fois de plus dans quel état se trouvent nos succursales locales et distantes.
git branch -a
Notre succursale a été renommée avec succès à la fois localement et à distance, et la succursale distante suit les changements dans notre succursale locale.
Renommer les branches est simple
Avec Git, renommer les branches est simple. Si vous êtes la seule personne à utiliser un référentiel ou une branche à renommer, c’est très simple.
Si d’autres personnes partagent la branche, assurez-vous de leur communiquer que vous allez renommer la branche et qu’elles doivent pousser tout travail non validé. Quand ils ont poussé, vous pouvez tirer la branche, puis renommer votre branche localement et à distance.