Le flot avec GIT et l’intégration continue

Note: Ceci est un flot un peu modifié pour les fins du cours .
Note: S'il y a des "pros" de GIT qui veulent faire autrement, il n'y a pas de problème. Venez nous voir avant juste pour être sûrs!
  1. Nouvelle Story
    • Créer une branche pour la Story (ou pour une partie de la story si vous ne pourrez pas la compléter)
  2. Continuer une Story:
    • Comment ça tu n’avais pas fait de pull request la dernière fois??
    • Bon, on va dire que ta raison est valable pour cette fois… n’oublie pas de toujours commencer par une GIT Merge: Master –> Branche (un rebase serait approprié également, si vous savez ce que vous faites)
  3. Pendant une session de travail:
    • Travailler dans la branche
    • GIT Commit fréquents (locaux)
    • Les “commits” devraient raconter une histoire
  4. Fin de la session de travail (au minimum 1x / jour)
    • (Avancé) Réécrire l’histoire des commits, si nécessaire
    • GIT Push de votre branche
    • Vérifier que l’intégration continue passe pour votre branche
    • Ouvrir une Pull Request: branche –> Master
  5. Réviser les demandes (Pull Requests) des autres binômes
    • Tests ; Qualité du code ; Design …
    • De la duplication?
    • Est-ce que ce bout de code mérite d’être inclus?
    • Commentez toujours le code, jamais la personne!
  6. S’assurer que l’intégration continue fonctionne une fois la fusion dans Master terminée
  7. Supprimer la branche après le merge vers master. Évitez de réutiliser des branches (ça coûte rien de toute façon!)

L’idée est de faire le minimum de travail pouvant être considéré comme consistant et de le fusionner dans Master. Cela vous évitera des cauchemars avec la fusion… ;)

Il est toujours possible d’obtenir du code stable qui compile (quitte à ce qu’il ne soit pas complet). Ce n’est pas toujours si simple, par contre. Si vous avez besoin d’astuces pour cela, n’hésitez pas à le demander.

Simon n'avait pas fait de PR à la fin de sa journée. Son équipe a obligé Simon à laver les véhicules des autres membres de l'équipe. Ne soit pas Simon.

Nous vous déconseillons dans le cadre du cours une approche par Feature Branches . Considérant le rythme de travail d’une équipe universitaire, nous ne vous recommandons pas d’attendre la fin d’une Story pour fusionner…

Nous ne le répéterons pas assez, mais vous devez faire vos merge fréquemment, au minimum 1 fois par session de travail.

PS. Dans le cadre du cours, considérez ‘master’ comme une branche de Staging. Et ne vous souciez pas de la branche de production. Pour les plus avancés, ne considérez pas de “ Feature Toggle:no_mouth: