Bon workflow git régime avec plusieurs développeurs travaillent sur la même tâche

Je suis chef d'équipe dans notre société de développement web, et j'aimerais mettre en œuvre un workflow Git dans notre équipe. La lecture de la documentation et des articles que j'ai trouvé la structure suivante bons pour nous:

Nous avons un référentiel dans un Bitbucket. Maître branche est considérée comme contenant stable de code seulement. Tous les dev doit créer sa propre branche et de mettre en œuvre des fonctionnalités et des corrections de bugs dans son propre branche. Une fois qu'il décide, que son code est prêt, il crée une belle histoire de la branche (à l'aide de rebase, de modification, de cherry-pick etc.) et il pousse à Bitbucket, où se crée un pull request à la branche principale. QA vérifie la fonctionnalité et approuve (ou désapprouve), alors je suis la vérification de code et si c'est ok, je fusionne son travail en master (en avance rapide ou complet pour mieux s'engage histoire).

Mais ce schéma n'est bon que dans un cas, lors de l'unique développeur travaille sur une branche. Dans notre cas, nous avons presque toujours les deux développeurs pour une branche, depuis un développeur travaille sur côté serveur (PHP), et l'autre - côté client (HTML/CSS/JS). Comment ces deux devraient collaborer de manière à ce que s'engager de l'histoire en maître reste propre?

Serveur de dev crée la structure de base des fichiers HTML et un client dev besoins pour obtenir cette structure. Logiquement, serait pour le serveur de dev, pour créer une branche, et pour le client dev de créer sa propre filiale, basée sur le serveur de dev de la branche. Mais cela signifie que le serveur de dev doit publier sa branche dans Bitbucket, ce qui va la faire impossible pour lui de rebase ou changement s'engage, qui sont déjà publiés.

Une autre option est d'attendre, jusqu'à ce que le serveur de dev a terminé son travail, publie branche de nice s'engage histoire et oublie, et seulement après que le client dev commence à travailler dans cette branche, mais cela va entraîner des temps de retard, ce qui est encore pire.

Comment voulez-vous gérer une telle collaboration dans votre flux de travail?

  • Il n'est pas nécessaire pour le serveur développeur de publier dans Bitbucket. Il peut "publier" dans d'autres façons, et le client dev peut tirer de l'autre endroit. (Ils ont peut-e-mail bundles uns des autres, ou tirer directement, ou utiliser un autre serveur commun...) Vous avez toujours des problèmes avec un rebase, mais il est maintenant limité à 2 développeurs.
  • oui, cela peut être une option, que je pensais aussi, mais je ne voulais pas impliquer 3ème du côté des solutions, comme l'emailing, la commune de serveur ou quoi que ce soit. Direct tirant nous semble préférable de moyens, mais peut compliquer client-dev, car il aura besoin de tirer de Bitbucket et tous les serveurs de devs, il travaille avec l' - il y aura un gâchis avec toutes les télécommandes. Merci pour un conseil!
  • "ce qui sera impossible pour lui de rebase ou changement s'engage" pourquoi est-ce? Votre SCM ne doit pas être l'application de ces règles sur les personnels des branches. Changer votre SCM de sorte que seuls les master est protégée contre les réécrit.