Je fusionne une branche dans un projet utilisant des sous-modules git. Habituellement, lorsqu'il y a un conflit, il y a deux séries de changements, le leur et le nôtre. La résolution des conflits consiste à fusionner ces deux en un. Mais je remarque que pour les sous-modules git la diff montre une troisième valeur:Trois références de validation lors de la fusion de sous-modules
diff --cc my_submodule
index dd7404e,e6753b1..0000000
--- a/my_submodule
+++ b/my_submodule
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit dd7404e5f35ee0b0064f0d6ed8201cc39d6ed6b2
-Subproject commit e6753b1142cf0350608720ff23f7ecf51b813cd9
++Subproject commit 3b4e75fbb7c55cf21e19509bbbbfabfa1fc10630
Que signifient les « - », « - » et « ++ » signifie
Notez qu'il est possible que la version sous-module en fait vérifié dans le dépôt avant la fusion était ni leur, ni la nôtre, ce que cela explique les trois hash?
Qu'est-ce que cela signifie que cela a changé dans la source? En comparant à quoi? Changements locaux? Dans cet exemple particulier que SHA1 est à nous, avec "-" ou "-"? – Amiramix
@Amiramix comparant à l'ancêtre commun. – VonC
@Amiramix Voir https://git-scm.com/docs/git-diff#_combined_diff_format: Lorsqu'elle est montrée par 'git diff-files -c' (diff combinée de fichiers fusionnés), elle compare les deux parents de fusion non résolus avec le fichier de l'arbre de travail (ie fichier1 est l'étape 2 aka "notre version", fichier2 est l'étape 3 aka "leur version"). – VonC