Disons que j'ai deux branches dans RepoX appelées BranchA et BranchB. RepoX a également un sous-module appelé SubmoduleY.Git: fusion et sous-modules
BranchA a Sous-moduleY à la révision 'abc', BranchB a sous-moduleY à la révision 'def'. Supposons que je souhaite fusionner BranchA en BranchB, mais je souhaite que SubmoduleY de BranchB pointe vers sa version d'origine de 'def'. Je vois deux manières de le faire:
Méthode 1:
- Commander BranchB.
- Déplacez SubmoduleY vers la révision 'abc' pour rendre la fusion réelle indolore (nous ne voulons pas faire de fusion au niveau du sous-module pour le moment).
- Validez la nouvelle révision pour SubmoduleY (nous ne pouvons pas la faire flotter pour la fusion).
- Fusionner BranchA dans BranchB. Résolvez les conflits.
- Renvoyer le sous-moduleY à la révision 'def'.
- Validez la nouvelle révision pour SubmoduleY.
- Poussez les modifications jusqu'au rapport principal.
Méthode 2:
Identique à la méthode 1, mais au lieu de faire l'étape 6, rebase et se débarrasser de la sous-module supplémentaire commettras de l'étape 3.
Les deux semblent avoir des inconvénients gênants:
La méthode 1 place deux validations supplémentaires dans l'historique.
La méthode 2 oublie toutes les modifications à faire avec les révisions de sous-module car ces validations sont supprimées. Par conséquent, toute fusion ultérieure devra faire face à quelques problèmes à nouveau.
Y a-t-il un meilleur moyen?
Belle solution! Merci. – Ben