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/
etusers/
. - 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
etFabrikamRepo
.
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
Ouvrez votre référentiel sur le web et sélectionnez la vueBranches.
Recherchez votre branche existante. Si vous ne le voyez pas, vous devrez peut-être regarder sous l’onglet Tout.
Choisissez son menu contextuel (le bouton
...
) et choisissez Nouvelle branche.Tapez le nouveau nom de la branche, par exemple users/frank/readme-fix. Choisissez Créer une branche.
Choisissez l’icône de corbeille rouge en regard de l’ancien nom de branche pour la supprimer.
Notes
Les autorisations personnalisées ou les stratégies de branche que vous avez configurées ne seront pas migrées.