Ce document décrit une méthode d’organisation pour les développements en lots, en particulier en cas de collaboration entre deux équipes.

Edit me

Contexte

Dans cet exemple, on suppose que la Team 1 souhaite faire faire une grosse évolution appelée “Import” sur une application existante, que celle-ci a été découpée en 4 lots et qu’elle sera prise en charge par l’équipe OI.

Principe général

illustration_blanches_git

La branche oi-imports-lots permettra de merger les différentes branches de développement (oi-import-lot1, oi-import-lot2, oi-import-lot3, etc.).

Il est important de respecter les noms des branches données ici pour qu’on puisse s’y retrouver.

Procédure

Etape 0 : Créer la branche du développement dans son ensemble

Créer une nouvelle branche oi-import-lots sur le repo de l’application.

Etape 1 : Marche à suivre pour le lot 1

Team OI :

  • Créer une branche oi-import-lot1 depuis la branches oi-import-lots
  • Commiter et pusher sur la branche oi-import-lot1
  • Créer une PR de la branche oi-import-lot1 vers la branche oi-import-lots nommé “Merge oi-import-lot1 into oi-import-lots”
  • Demander une review au responsable technique de la Team 1

Team 1 :

  • Faire la review du code demandée par la Team OI
  • Organiser une réunion pour éclaircir certain point si nécessaire

Team OI :

  • Commit et pusher les modifications demandées par les reviewers

Team 1 :

  • Approuver la PR “Merge de la branche oi-import-lot1 dans oi-import-lots”

A cette étape, il est possible de faire un test fonctionnel en faisant un git checkout oi-impor-lots après avoir installé l’application via git sur un environnement de test.

Etape 2 : Marche à suivre pour le lot 2

Team OI :

  • Créer une branche oi-import-lot2 depuis la branches oi-import-lots
  • Commiter et pusher sur la branche oi-import-lot 2
  • Créer une PR de la branche oi-import-lot2 vers la branche oi-import-lots nommée “Merge oi-import-lot2 into oi-import-lots”
  • Demander une review au responsable technique de la Team 1

Team 1 :

  • Faire la review du code demander par la Team OI
  • Organiser une réunion pour éclaircir certain point si nécéssaire

Team OI :

  • Commit et pusher les modifications demandées par les reviewers

Team 1 :

  • Approuver la PR “Merge de la branche oi-import-lot2 dans oi-import-lots”

A cette étape, il est possible de faire un test fonctionnel en faisant un git checkout oi-import-lots après avoir installer l’application via git sur un environnement de test.

Etape X : Marche à suivre pour le lot X

Même marche à suivre pour les lots restants.

Remarques

Lorsque le développement prend du temps (sur plusieurs sprints par exemple), on peut avoir besoin de récupérer les développements poussés sur la branche principale par d’autres développeurs (pour récupérer un fix nécessaire à la suite du développement ou pour limiter les conflits lors du merge final). Pour ce faire, il est recommandé de faire un premier merge de la branche principale (master) vers la branche principale du développement (oi-import-lots) puis un second merge vers la branche spécifique (oi-import-lot2).

git checkout master
git pull # Bien penser à puller pour récupérer l'ensemble des derniers développements sur la branche local
git checkout oi-import-lots
git merge master
# corriger les éventuels conflits, git commit + git push 
git checkout oi-import-lot2
git merge oi-import-lots
# corriger les éventuels conflits, git commit + git push 

Si, lors du développement du lot 2 une erreur dans le lot 1 est remonté, il faudra que le développeur corrige l’erreur dans son lot courant pour éviter les conflits.

Une fois la totalité des lots mergés sur la branche oi-import-lots, cette branche est traité par la team 1 comme n’importe quelle autre branche (PR sur la branche de développement, etc )