À propos des branches et des stratégies de branche

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Les stratégies de branche sont une partie importante du flux de travail Git et vous permettent de :

  • Isoler le travail en cours du travail terminé dans votre branche primaire
  • Garantir que les modifications sont générées avant qu’elles n’atteignent la branche primaire
  • Limiter les personnes pouvant contribuer à des branches spécifiques
  • Déterminer qui peut créer des branches et les directives de dénomination des branches
  • Inclure automatiquement les réviseurs appropriés pour chaque modification de code
  • Appliquer les meilleures pratiques avec les réviseurs de code requis

Le tableau suivant récapitule les stratégies que vous pouvez définir pour personnaliser une branche. Pour obtenir une vue d’ensemble de tous les paramètres et stratégies de référentiel et de branche, consultez les Paramètres et stratégies du référentiel Git.

Stratégie

Par défaut

Description


Désactivé

Exigez l'approbation d'un nombre spécifique de réviseurs pour les demandes de tirage.

Désactivé

Développez la traçabilité en recherchant les éléments de travail liés des demandes de tirage.

Désactivé

Vérifiez que tous les commentaires ont été résolus pour les demandes de tirage.

Désactivé

Contrôlez l'historique des branches en limitant les types de fusion disponibles une fois que les demandes de tirage ont été exécutées.

Désactivé

Ajoutez une ou plusieurs stratégies pour valider le code en pré-fusionnant et en créant des modifications de demande de tirage. Peut également activer ou désactiver des stratégies.

Désactivé

Ajoutez une ou plusieurs stratégies pour exiger que d’autres services publient l’état réussi pour terminer les demandes de tirage. Peut également activer ou désactiver des stratégies.

Désactivé

Ajoutez une ou plusieurs stratégies pour désigner les réviseurs de code à inclure automatiquement lorsque les demandes de tirage modifient certaines zones de code. Peut également activer ou désactiver des stratégies.

Adopter une stratégie de branchement Git

Il existe quelques branches critiques dans votre référentiel sur lesquelles l’équipe s’appuie pour toujours être en bonne forme, comme votre branche main.

Exigez des demandes de tirage pour effectuer des changements sur ces branches. Les développeurs qui envoient (push) des modifications directement vers ces branches protégées voient leurs envois rejetés.

Conservez la simplicité de votre stratégie de branche en créant votre stratégie à partir de ces trois concepts :

  1. Utilisez des branches de fonctionnalité pour toutes les nouvelles fonctionnalités et tous les correctifs de bogues.
  2. Fusionnez les branches de fonctionnalités dans la branche principale à l’aide de demandes de tirage.
  3. Conservez une branche principale de haute qualité et à jour.

Une stratégie qui étend ces concepts et évite les contradictions entraîne un flux de travail de contrôle de version pour votre équipe qui est cohérent et facile à suivre.

Créer un travail dans les branches

Les branches Git ne sont pas beaucoup plus qu’une petite référence qui conserve un historique exact des validations, de sorte qu’elles sont peu coûteuses à créer.

La validation des modifications apportées à une branche n’affecte pas les autres branches. Vous pouvez partager des branches avec d’autres personnes sans avoir à fusionner les modifications dans le projet principal.

Vous pouvez créer de nouvelles branches pour isoler les modifications d’une fonctionnalité ou d’un correctif de bogue de votre branche principale et d’autres tâches.

Étant donné que les branches sont légères, le basculement entre les branches est rapide et facile. Git ne crée pas plusieurs copies de votre code source lorsque vous travaillez avec des branches. Il utilise les informations d’historique stockées dans les validations pour recréer les fichiers d’une branche lorsque vous commencez à travailler dessus.

Votre flux de travail Git doit créer et utiliser des branches pour gérer les fonctionnalités et les correctifs de bogues.

Le reste du flux de travail Git, tel que le partage de code et l’examen du code avec des demandes de tirage fonctionnent toutes via des branches.

L’isolation du travail dans des branches permet de modifier facilement ce sur quoi vous travaillez en changeant la branche en cours.

Comment les branches Git sont-elles créées ?

Vous créez des branches à l’aide de la commande branch. Branch crée une référence dans Git pour la nouvelle branche et un pointeur vers la validation parente afin que Git puisse conserver un historique des modifications lorsque vous ajoutez des validations à la branche.

Lorsque vous travaillez avec une branche partagée par une autre personne, Git conserve une relation de suivi en amont. La relation associe la branche sur le référentiel local à la branche correspondante sur le référentiel distant.

Le suivi en amont facilite la synchronisation des modifications avec d’autres utilisateurs à l’aide d’un envoi et d’une extraction.

Visuel d’une branche principale dans Git

Dans cette capture d’écran, vous pouvez voir une nouvelle branche créée à partir de la branche principale. Les travaux continuent sur les branches et les validations sont ajoutées aux deux branches.

Git ajoute toujours de nouvelles validations à la branche locale actuelle. Vérifiez la branche sur laquelle vous travaillez avant de valider afin de ne pas valider les modifications apportées à la branche incorrecte.

Échangez entre les branches locales à l’aide de la commande checkout. Git modifie les fichiers sur votre ordinateur pour qu’ils correspondent à la dernière validation de la branche extraite.

Lorsque votre travail dans la branche est prêt à être partagé avec le reste de l’équipe, vous envoyez les modifications pour mettre à jour la branche distante.

Une erreur courante consiste à apporter des modifications et à les commit, à vous rendre compte que vous êtes sur une branche incorrecte, puis checkout à la branche correcte.

Vos modifications les plus récentes ne seront plus sur le système de fichiers, car chaque branche possède sa propre version de code.

Git ramène l’état des fichiers à la dernière validation sur la branche que vous avez permutée, et non dans la branche précédente où vous avez apporté vos modifications.

Vous devrez faire un cherry-pick aux validations à partir de la branche ou fusionner les modifications dans la branche appropriée.

Utiliser des branches pour gérer le développement

Git effectue le suivi de la branche sur laquelle vous travaillez et veille à ce que, lorsque vous checkout une branche, vos fichiers correspondent à la validation la plus récente sur la branche.

Les branches vous permettent d’utiliser plusieurs versions du code source dans le même référentiel Git local en même temps.

Indiquez à Git quelle branche vous souhaitez utiliser avec checkout, et Git s’occupe de définir les versions de fichiers appropriées pour cette branche.

Vous n’avez pas besoin de plusieurs référentiels sur votre système lorsque vous utilisez des branches pour isoler votre travail.

Configurez votre environnement de développement une fois après le clonage. Ensuite, utilisez les branches Git pour échanger entre le travail des fonctionnalités et la résolution des bogues.

Guide pratique pour la création de branches

Découvrez comment effectuer des tâches courantes lors de l’utilisation des branches.