Renommer les banches master de projets Azure DevOps sans cloner tous vos repositories

Actuellement, nous sommes nombreux à renommer les branches master de Git. « master » étant offensant pour nombre d’utilisateurs, « main » fait son grand retour (comme on pouvait le faire avant avec TFVC).

Quand on a beaucoup de projets, il peut s’avérer long d’avoir à cloner localement tous ses repository (ou d’avoir à les mettre à jour).

Avec Azure DevOps, on a la possibilité d’effectuer l’intégralité de ses opérations via l’interface web.

Git + Souris = Azure DevOps

Ceci n’est pas possible avec GitHub. Il vous faudra effectuer ces opérations via la ligne de commande. Il faudra aussi changer la branche à défaut via l’interface web de GitHub avant de supprimer la branche master.


Workflow à executer

Le workflow type est le suivant

  • Créer une branche main à partir de la branche master.
  • Faire de la branche main la branche à défaut (pour le téléchargement et la comparaison)
  • Supprimer la branche master.

Si vos projets utilisent Azure Pipeline, il faut penser à changer les noms des pipelines et des releases via les sites Azure DevOps. Pour les builds classiques les triggers de builds peuvent aussi être changés via le site. Les build Yaml peuvent aussi être éditées en ligne.


Création de la branche main

Prenons le cas d’un projet simple contenant uniquement deux branches (master et develop). La banche develop a deux commit d’avance (ce qui permet d’avoir un point de repère par la suite).

Repository Git contenant  les deux brnaches master et develop

Pour créer la branche main, on peut utiliser la commande « new branch » en haut de page, ou passer via le menu de la branche master.

Menu contenant la commande new branch

Il n’y a plus qu’à saisir le nom de notre nouvelle branche et s’assurer qu’elle est bien créée à partir de la branche master.

Création d'une nouvelle brnache main

La branche créée est alors identique à la branche master.

Listing des branches contenant trois branches : master, main et develop


Définir la branche à défaut

Toujours à partir de la même interface, on peut désigner la branche main comme branche à défaut. Cela passe par le menu de la branche et la commande « set as default branch ».

Menu contextuelle contenant la comamnde set as default branch

La modification est immédiatement visible.

La branche main est la nouvelel brnache à défaut


Suppression de la branche master

Via le menu de la branche master, il suffit d’utiliser la commande « delete branch ».

Menu contextuelle contenant la comamnde delete branch


Et voilà.

Il ne reste que deux branches, main et develop


Conclusion

J’ai effectué les renommages sur 15 projets Azure DevOps et 12 projets GitHub (Côté Azure, 20% en ligne, le reste via un terminal). Tout ce faisant via un seul et même écran, cela m’a évité de perdre du temps à jongler entre les outils, les interfaces, les téléchargements lors des activités de modification et de vérification (le contrôle étant primordial pour éviter de perdre du code).

Azure DevOps a encore un petit train d’avance par rapport à GitHub concernant la gestion des branches.

Si vous avez joué avec les stratégies de sécurité d’Azure DevOps, il faudra penser à les modifier pour permettre la suppression de la branche master et appliquer les stratégies sur la nouvelle branche main. Là encore, tout se fera via une seule et même interface (Project settings > Repositories)

Jérémy Jeanson

Comments

You have to be logged in to comment this post.