Lorsque je travaille avec git dans une équipe utilisant des branches de fonctionnalités, j'ai souvent du mal à comprendre la structure des branches dans l'histoire.
Exemple:
Supposons qu'il y ait une fonctionnalité / préparation de branche de fonctionnalité , et la correction de bogues se poursuit sur le maître en parallèle à la branche de fonctionnalité.
L'histoire pourrait ressembler à ceci:
* merge feature/make-coffee
|\
| * small bugfix
| |
* | fix bug #1234
| |
| * add milk and sugar
| |
* | improve comments
| |
* | fix bug #9434
| |
| * make coffe (without milk or sugar)
| |
* | improve comments
|/
*
Problème
À première vue, je trouve difficile de dire de quel côté se trouve la branche de fonctionnalité. J'ai généralement besoin de parcourir plusieurs commentaires des deux côtés pour avoir une idée de qui est lequel. Cela devient plus compliqué s'il y a plusieurs branches d'entités en parallèle (en particulier si elles concernent des entités étroitement liées), ou s'il y a fusion dans les deux sens entre la branche d'entités et le maître.
En revanche, dans Subversion, c'est beaucoup plus facile car le nom de la branche fait partie de l'historique - je peux donc dire tout de suite qu'un commit a été initialement fait sur "feature / make-coffee".
Git pourrait faciliter cela en incluant le nom de la branche actuelle dans les métadonnées de validation lors de la création d'une validation (avec l'auteur, la date, etc.). Cependant, git ne fait pas cela.
Y a-t-il une raison fondamentale pour laquelle cela n'est pas fait? Ou est-ce juste que personne ne voulait la fonctionnalité? Si c'est le dernier, existe-t-il d'autres façons de comprendre le but des branches historiques sans voir le nom?