Vous pourriez bénéficier du flux de travail que Scott Chacon décrit dans Pro Git . Dans ce flux de travail, vous avez deux branches qui existent toujours, maestro y développer .
maestro représente la version la plus stable de votre projet et vous ne déployez en production qu'à partir de cette branche.
développer contient des changements qui sont en cours et ne sont pas nécessairement prêts pour la production.
De la développer vous créez des branches thématiques pour travailler sur des fonctionnalités et des corrections individuelles. Une fois que votre fonctionnalité/correction est prête, vous la fusionnez dans la branche développer Vous pouvez alors tester son interaction avec d'autres branches de thèmes que vos collègues ont fusionnées. Une fois que développer est dans un état stable, fusionnez-le dans maestro . Il devrait toujours être sûr de déployer en production à partir de maestro .
Scott décrit ces branches de longue durée comme des "silos" de code, où le code d'une branche moins stable finira par "passer" à une branche considérée comme plus stable après avoir été testé et approuvé par votre équipe.
Étape par étape, votre flux de travail selon ce modèle pourrait ressembler à ceci :
- Vous devez corriger un bug.
- Créez une branche appelée myfix qui est basé sur le développer branche.
- Travailler sur le bogue dans cette branche du sujet jusqu'à ce qu'il soit corrigé.
- Fusionner myfix en développer . Exécutez les tests.
- Vous découvrez que votre correction entre en conflit avec une autre branche du sujet hisfix que votre collègue a fusionné avec développer pendant que tu travaillais sur ta réparation.
- Effectuez d'autres changements dans le myfix pour faire face à ces conflits.
- Fusionner myfix en développer et refaire des tests.
- Tout fonctionne bien. Fusionner développer en maestro .
- Déployer en production à partir de maestro à tout moment, parce que vous savez que c'est stable.
Pour plus de détails sur ce flux de travail, consultez la page Flux de travail en dérivation dans le chapitre Pro Git.