Je l'utilise pour la maintenance de sites Web critiques. Je suis le seul développeur mais j'ai un master, développe et édite des branches.
Mon processus de travail pour la configuration du site ressemble à ceci:
Rendre la branche maîtresse réalisable. Faites le commit initial.
Commander développer la branche. Ne faites rien, développez des fonctions en tant que tampon de test pour la fusion en maître.
Branche de sortie de caisse. Codez votre problème, une fois terminé, tirez-le pour développer, voyez si des problèmes surviennent, fusionnez des conflits, etc. ... corrigez-les.
Lorsque suffisamment de problèmes sont fusionnés en développement pour une version et que développement a été testé pour la stabilité, tirez développez en maître.
Master
|
Develop - E
/ | \ \
A B C D
De cette façon, vous obtenez une collection complète de tests en développement, où vous pouvez tester la stabilité, les problèmes, etc. sans avoir à risquer de faire mal à Maître et à avoir à annuler les commits s’ils étaient dangereux.
En outre, en utilisant des branches individuelles pour commettre, vous pouvez "laisser" le travail que vous avez déjà fait, recommencer à zéro pour autre chose afin de résoudre un problème plus urgent et le diffuser plus tôt.
Dans la vie réelle, j'ai généralement une branche de problème et je tire celle-ci en développement, puis en maître. Parfois, c'est fastidieux, mais au moins tous les deux mois, je dois abandonner le travail du jour au lendemain, parce que quelqu'un a eu l'idée que je devais créer RightNow ™ et que, de cette manière, je pourrais rapidement revenir à un état de base. et ensuite continuer là où j'étais. Surtout avec les grands projets qui prennent plusieurs semaines, c’est un don que je peux rapidement changer de branche.
Considérez ce scénario: Vous travaillez toujours sur une branche principale et vous avez AwesomeCodeThing ™ dans les œuvres qui laisse votre branche principale en chirurgie cardiaque ouverte et une YugeBug ™ apparaît qui a besoin de fixer d' urgence sinon des milliers d'utilisateurs se plaignent de vous au sujet BigProblems ™
La seul moyen de résoudre rapidement votre problème dans un tel scénario,
- vérifiez vos commits précédents,
- voir quand était votre dernier commit stable (la malédiction est optionnelle)
- revenir à ce commit
- faire correctif, pousser correctif à la production
- Résolvez tous les conflits et problèmes que vous rencontrez maintenant pour revenir au statut AwesomeCodeThing ™
- abandonner, pleurer et recommencer à travailler (facultatif)
Si vous utilisez des branches:
- Maître de caisse
- créer une branche UrgentFix ™ et résoudre des problèmes
- tirer UrgentFix ™ dans le maître
- pousser à la production
- Fusionner le maître pour développer
- Fusionnez dans AwesomeCodeThing ™
- prendre une bière et continuer à travailler.