Je travaille actuellement sur un projet avec une équipe qui utilise un workflow git. C'est assez simple, le maître doit être dans un état déployable et les branches sont utilisées pour créer des fonctionnalités et des correctifs. Chaque fois qu'une fonctionnalité ou un correctif est terminé et testé, nous le transférons au maître dès que possible. L'idée est que les branches doivent être aussi petites que possible pour faciliter leur fusion dans le master. Nous avons une politique selon laquelle tout code poussé vers la branche principale doit être dans un état déployable et réussir les tests.
Nous avons une situation où l'un des développeurs a fait beaucoup de travail (valant quelques mois) sur une seule branche et cette branche n'a pas encore été fusionnée dans le maître. Il y a maintenant quelques fonctionnalités distinctes et un tas de commits sur cette branche, essentiellement cette branche aurait vraiment dû être fusionnée en quelques fois déjà, mais jusqu'à présent ne l'a pas été. La plupart du code est en bon état avec des tests unitaires qui pourraient être réintégrés dans le maître mais les modifications les plus récentes ne devraient certainement pas l'être car elles ne sont pas terminées et ne sont pas testées.
Quelle est la meilleure façon de faire face à une telle situation où une branche est vraiment loin des autres? De quelles manières pouvons-nous éviter que les succursales obtiennent un très grand nombre de validations de Master à l'avenir?