Je travaille sur un workflow git à implémenter dans une petite équipe. Les idées clés du workflow:
- Il existe un maître de projet partagé auquel tous les membres de l'équipe peuvent écrire
- Tout le développement se fait exclusivement sur des branches de fonctionnalités
- Les branches de fonctionnalité sont examinées par un membre de l'équipe autre que l'auteur de la branche
- La branche de fonctionnalité est finalement fusionnée dans le maître partagé et le cycle recommence
L'article explique en détail les étapes de ce cycle:
https://github.com/janosgyerik/git-workflows-book/blob/small-team-workflow/chapter05.md
Est-ce que cela a du sens ou est-ce que je manque quelque chose?
Je pense que vous manquez le sujet Intégration continue. Il devrait faire partie de chaque configuration de développement.
Avec les branches de fonctionnalités, vous avez le problème que vous n'intégrez pas en continu, mais uniquement après la fin d'une fonctionnalité.
Si la fonction ramifiée est de courte durée, cela peut être acceptable, mais c'est certainement quelque chose que l'on devrait considérer.
Une autre alternative consiste à configurer les builds CI pour chaque branche de fonctionnalité. Bien sûr, cela aide, mais ce n'est pas l'intégration. Cela devient évident une fois que vous avez trouvé votre premier bogue qui n'apparaît pas dans la fonctionnalité A ou la fonctionnalité B, mais au moment où vous intégrez la fonctionnalité A & B
Une troisième alternative consiste à intégrer la fusion dans une branche d'intégration à la génération CI. Il s'agit d'une véritable intégration, et fonctionne en fait assez bien avec git si le travail est quelque peu séparé, mais provoque des conflits de fusion pendant la génération entraînant des échecs de génération.
la source
Vous pouvez vous inspirer de gitflow ou Twgit .
gitflow résume son approche comme suit:
Twgit se décrit comme suit:
Les deux outils sont disponibles sur github .
la source