web-dev-qa-db-fra.com

Dois-je avoir une branche de «dev» séparée d'une branche «production»?

J'ai récemment mis en place mes environnements de mise en scène et de serveur de production sur Heroku et que tout fonctionne bien. Grâce à Heroku, vous pouvez déployer d'une succursale GIT - par exemple. master ou my-feature. Cela m'a fait penser - devrais-je avoir une branche dev?

La branche dev fonctionnerait essentiellement comme la phase de courant dans development; branche my-feature serait fusionné dans dev une fois rempli. Je voudrais ensuite déployer dev à mon Environnement Environnement et, si tout se décharge, je fusionnerais dev dans master et déploiez master à Production .

À première vue, pour moi, cela a du sens comme un flux de travail. En regardant les branches, il est immédiatement évident ce qui est en développement et ce qui est en production. Avec la succursale habituelle master étant activement développée et déployée, il est difficile de dessiner la ligne en un coup d'œil sans regarder des horodatages ou SHA COMMIT.

Le seul inconvénement que je peux voir, c'est que mes journaux de commettre ont essentiellement un fusionné dev avec master commettre pour chaque déployer sur la production. Personnellement, je ne vois pas cela comme un gros problème, car cela aide à définir la ligne quel code est la production utilisant? .

Avoir une branche dev a du sens si elle est utilisée de cette manière?

PS - Je travaille seul sur ce projet. Je suis juste curieux si cela est logique comme un flux de travail général pour les développeurs.

6
Chris Cirefice

Je pense que cela est surchargé pour une seule personne travaillant sur une seule application Web.

J'utiliserais Tags pour donner des numéros de version aux versions que vous publiez sur le serveur de production. Le serveur de stadification peut simplement utiliser le dernier commit sur Master, tandis que la production utilise une balise.

Demandez à un script "version" qui met à jour les fichiers avec le nouveau numéro de version, commet-les, puis balise le commit avec ce numéro de version.

7
RemcoGerlich

Oui, c'est un flux de travail commun. Le populaire Gitflow Workflow a une branche de développement distincte, par exemple.

Différentes équipes utilisent différents flux de travail. Qui provient de différentes compositions d'équipe. Les flux de travail qui fonctionne pour un projet open source avec un grand nombre de contributeurs externes ne peuvent pas nécessairement fonctionner pour un projet de société interne ni pour un projet personnel. Il n'y a personne de bon flux de travail qui fonctionne pour tout le monde.

5
Lie Ryan