Comment renommer une branche, supprimer une branche et trouver l’auteur d’une branche dans Git


  • FrançaisFrançais


  • L’une des principales forces de Git est sa capacité à “diviser” le travail en différentes branches.

    Si vous êtes la seule personne à utiliser un référentiel, les avantages sont modestes, mais une fois que vous commencez à travailler avec de nombreux autres contributeurs, la création de branches est essentielle. Le mécanisme de branchement de Git permet à plusieurs personnes de travailler sur un projet, et même sur le même fichier, en même temps. Les utilisateurs peuvent introduire différentes fonctionnalités, indépendantes les unes des autres, puis fusionner ultérieurement les modifications dans une branche principale. Une branche créée spécifiquement dans un but, comme l’ajout d’une nouvelle fonctionnalité ou la correction d’un bogue connu, est parfois appelée une branche thématique.

    Une fois que vous commencez à travailler avec des succursales, il est utile de savoir comment les gérer. Voici les tâches les plus courantes que les développeurs effectuent avec les branches Git dans le monde réel.

    Renommer une branche avec Git

    Renommer une branche thématique est utile si vous avez mal nommé une branche ou si vous souhaitez utiliser la même branche pour basculer entre différents bogues ou tâches après avoir fusionné le contenu dans la branche principale.

    Renommer une branche locale

    1. Renommez la branche locale :

    $ git branch -m <old_branch_name> <new_branch_name>

    Bien sûr, cela ne fait que renommer ton copie de la succursale. Si la branche existe sur le serveur Git distant, passez aux étapes suivantes.

    2. Appuyez sur la nouvelle branche pour créer une nouvelle branche distante :

    $ git push origin <new_branch_name>

    3. Supprimez l’ancienne branche distante :

    $ git push origin -d -f <old_branch_name>

    Renommer la branche courante

    Lorsque la branche que vous souhaitez renommer est votre branche actuelle, vous n’avez pas besoin de spécifier le nom de la branche existante.

    1. Renommez la branche actuelle :

    $ git branch -m <new_branch_name>

    2. Appuyez sur la nouvelle branche pour créer une nouvelle branche distante :

    $ git push origin <new_branch_name>

    3. Supprimez l’ancienne branche distante :

    $ git push origin -d -f <old_branch_name>

    Supprimer les branches locales et distantes à l’aide de Git

    Dans le cadre d’une bonne hygiène du référentiel, il est souvent recommandé de supprimer une branche après s’être assuré d’avoir fusionné le contenu dans la branche principale.

    Supprimer une branche locale

    La suppression d’une branche locale ne supprime que la copie de cette branche qui existe sur votre système. Si la branche a déjà été poussée vers le référentiel distant, elle reste disponible pour tous ceux qui travaillent avec le référentiel.

    1. Extrayez la branche centrale de votre référentiel (par exemple, principale ou alors Maître):

    $ git checkout <central_branch_name>

    2. Listez toutes les succursales (locales et distantes) :

    $ git branch -a

    3. Supprimez la branche locale :

    $ git branch -d <name_of_the_branch>

    Pour supprimer toutes vos branches thématiques locales et ne conserver que les principale une succursale:

    $ git branch | grep -v main | xargs git branch -d

    Supprimer une succursale distante

    La suppression d’une branche distante supprime uniquement la copie de cette branche qui existe sur le serveur distant. Si vous décidez que vous ne voulez pas supprimer la branche après tout, vous pouvez la repousser vers la télécommande, telle que GitHub, tant que vous avez toujours votre copie locale.

    1. Vérifiez la branche centrale de votre référentiel (généralement principale ou alors Maître):

    $ git checkout <central_branch_name>

    2. Listez toutes les succursales (locales et distantes) :

    $ git branch -a

    3. Supprimez la branche distante :

    $ git push origin -d <name_of_the_branch>

    Trouver l’auteur d’une branche de sujet distante à l’aide de Git

    Si vous êtes le gestionnaire du référentiel, vous devrez peut-être le faire afin d’informer l’auteur d’une branche inutilisée qu’elle doit être supprimée.

    1. Extrayez la branche centrale de votre référentiel (par exemple, principale ou alors Maître):

    $ git checkout <central_branch_name>

    2. Supprimez les références de branche aux branches distantes qui n’existent pas :

    $ git remote prune origin

    3. Répertoriez l’auteur de toutes les branches de rubrique distantes dans le référentiel, à l’aide de la --format option avec des sélecteurs spéciaux (dans cet exemple, %(authorname) et %(refname) pour l’auteur et le nom de la branche) pour imprimer uniquement les informations souhaitées :

    $ git for-each-ref --sort=authordate --format='%(authorname) %(refname)' refs/remotes

    Exemple de sortie :

    tux  refs/remotes/origin/dev
    agil refs/remotes/origin/main

    Vous pouvez ajouter une mise en forme supplémentaire, y compris un codage couleur et une manipulation de chaîne, pour une meilleure lisibilité :

    $ git for-each-ref --sort=authordate \
    --format='%(color:cyan)%(authordate:format:%m/%d/%Y %I:%M %p)%(align:25,left)%(color:yellow) %(authorname)%(end)%(color:reset)%(refname:strip=3)' \
    refs/remotes

    Exemple de sortie :

    01/16/2019 03:18 PM tux      dev
    05/15/2022 10:35 PM agil     main

    Vous pouvez utiliser grep pour obtenir l’auteur d’une branche thématique distante spécifique :

    $ git for-each-ref --sort=authordate \
    --format='%(authorname) %(refname)' \
    refs/remotes | grep <topic_branch_name>

    Devenez bon en ramification

    Il existe des nuances dans le fonctionnement de la création de branches Git en fonction du point auquel vous souhaitez bifurquer la base de code, de la manière dont le responsable du référentiel gère les branches, l’écrasement, le rebasage, etc. Voici trois articles pour aller plus loin sur ce sujet :

    Source

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code