Je ne vois pas le problème ici.
Vous en avez déjà à chaque fois avec votre master
branche, qui change continuellement pendant que les fonctionnalités sont développées puis fusionnées.
Ainsi, dans votre exemple concret, vous créez d'abord la feature_xxx_backend
branche et développez les modifications d’arrière-plan. Lorsque cela est fait, la branche est prête à réviser et sera fusionnée master
une fois la révision terminée.
Alors, commencez simplement une autre branche, feature_yyy_frontend
. Vous voudrez probablement feature_xxx_backend
créer une branche directement à partir de , pour que ces modifications soient déjà dans votre branche. Ensuite, développez simplement la fonctionnalité frontend comme si la branche l’était master
.
Lorsque la feature_xxx_backend
branche change, par exemple parce qu’il faut tenir compte de certains points soulevés lors de la révision, faites simplement ces modifications et fusionnez-les dans la feature_yyy_frontend
branche. Continuez ensuite sur la branche frontale.
Une fois la révision de la branche principale terminée, elle est fusionnée master
. À ce stade, il serait sage de rebaser la feature_yyy_frontend
branche sur master
, de sorte que les réviseurs n’aient besoin que d’examiner les nouvelles modifications apportées par cette branche master
, sans avoir à réexaminer les modifications apportées au backend (qui ont déjà été approuvées). )
Cela peut également être fait lorsque vous avez deux, trois ou plusieurs branches dépendantes. Si vous comptez sur deux branches d’entités sur lesquelles vous dépendez, créez simplement une branche dérivée dans laquelle les deux entités sont fusionnées. À partir de là, développez la troisième entité, puis fusionnez les deux en même temps. Lorsque les deux fonctionnalités sont terminées et fusionnées dans la branche dérivée, reposez-vous dessus, ou si elles sont fusionnées dans maître, rebasez-les sur maître.
Le changement de base (comme suggéré ci-dessus) est très puissant et permet de garder un journal clair des modifications, ce qui facilite les révisions.