Partager via


Exiger la création de branches dans des dossiers

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

Lorsque vous avez de nombreuses personnes qui collaborent dans un référentiel, le nombre et les noms des branches peuvent rapidement sortir du contrôle. Les dossiers de branche hiérarchique constituent un moyen efficace d’apprivoiser le chaos. Azure DevOps Services, TFS et Visual Studio traitent / comme séparateur de dossiers et réduisent automatiquement les dossiers par défaut. De cette façon, vous n’avez pas à parcourir chaque branche unique pour trouver celui que vous recherchez. Vous n’avez pas besoin de compter sur quelqu’un pour le faire correctement non plus. Azure Repos et TFS peuvent appliquer l’utilisation correcte des dossiers de branche.

Planification

Choisissez la structure de dossiers que vous souhaitez autoriser. Par exemple, nous allons définir notre référentiel pour appliquer les règles suivantes :

  • Seul main ne peut exister à la racine du référentiel.
  • Tous les utilisateurs sont autorisés à créer des branches sous les dossiers feature/ et users/.
  • Les administrateurs pourront créer des branches sous le dossier release/.

Notes

Pour plus d’exemples et d’informations sur les stratégies d’affectation de noms de branche, consultez Adopter une stratégie de branchement Git.

Préparation

  • Vous aurez besoin de la commande de contrôle de version Team Foundation (tf.exe).
  • Vous aurez besoin de l’URL de votre compte ou collection, du nom du projet et du nom du référentiel. Dans notre exemple, nous allons utiliser https://fabrikam-fiber.visualstudio.com, FabrikamProject et FabrikamRepo.

Notes

La commande tf.exe est installée par défaut avec Visual Studio. Vous pouvez y accéder via l’invite de commandes développeur. Pour obtenir des options supplémentaires, téléchargez Team Explorer.

Appliquer des autorisations

Exécutez les commandes suivantes dans l’invite de commandes développeur, sous Démarrer>l’invite de commandes développeur>Visual Studio. Chaque commande est précédée d’une explication de ce qu’elle fait. Si vous n’avez pas de jeton d’accès personnel mis en cache (par exemple, en vous connectant au portail web Azure DevOps Services), vous êtes invité à vous connecter.

Tout d’abord, bloquez l’autorisation Créer une branche à la racine du référentiel pour les contributeurs du projet.

tf git permission /deny:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo

Ensuite, autorisez les contributeurs à créer des branches sous feature et users.

tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:feature
tf git permission /allow:CreateBranch /group:[FabrikamProject]\Contributors /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:users

Autorisez les administrateurs à créer des branches sous release.

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:release

Enfin, autorisez les administrateurs à créer une branche appelée main (en cas de suppression accidentelle).

tf git permission /allow:CreateBranch /group:"[FabrikamProject]\Project Administrators" /collection:https://dev.azure.com/fabrikam-fiber/ /teamproject:FabrikamProject /repository:FabrikamRepo /branch:main

Notes

Pour plus d’informations, consultez l’autorisation tf git. Vous pouvez également accéder à l’aide de ces commandes à partir de la ligne de commande en exécutant tf git /? et tf git permission /?.

Renommer les anciennes branches

  1. Ouvrez votre référentiel sur le web et sélectionnez la vueBranches.

  2. Recherchez votre branche existante. Si vous ne le voyez pas, vous devrez peut-être regarder sous l’onglet Tout.

  3. Choisissez son menu contextuel (le bouton ...) et choisissez Nouvelle branche.

    Menu Créer une branche

  4. Tapez le nouveau nom de la branche, par exemple users/frank/readme-fix. Choisissez Créer une branche.

    Créer une branche

  5. Choisissez l’icône de corbeille rouge en regard de l’ancien nom de branche pour la supprimer.

    Supprimer l’ancienne branche

Notes

Les autorisations personnalisées ou les stratégies de branche que vous avez configurées ne seront pas migrées.