quelles sont les causes sous-module de conflits dans git, et comment doivent-ils être résolus?
Nous utilisons des submodules et nous sommes à nouveau git.
Nous voyons souvent des conflits de fusion pour les submodules eux-mêmes, pas les fichiers sont en conflit, juste le sous-module. Il existe plusieurs versions énumérées dans la sortie de git submodule summary
. Nous les résoudre en cours d'exécution git add <submodule>
dans le superproject.
Mais aujourd'hui nous avons eu un développeur perdre une livraison du sous-module quand elle a résolu le conflit de cette manière.
Est-ce que courir un git add choisir la version à distance? Ne pas le contenu de la sous-module sont fusionnés? Si elle a apporté des changements dans le sous-module et engagé (que je vois), alors pourquoi serait-ce commit disparaissent après, elle a couru à la traction et à la résolution du conflit?
OriginalL'auteur user561638 | 2011-07-14
Vous devez vous connecter pour publier un commentaire.
Les deux fichier conflits et sous-module les conflits se produisent lors de votre branche et la branche-vous-voulez-de-fusion-en ont divergé.
Il signifie simplement une situation ambiguë existe-on pourrait légitimement voulez soit de "gagner" dans un cas donné. Ainsi, même s'il peut paraître "ennuyeux", ils se contentent de mettre en évidence toute la richesse de vos options pour spécifier ce que vous voulez (et vous doit spécifier ce que vous voulez). (Et, tout ce que les programmeurs de faire chaque jour simplement à spécifier en détail).
Il semble que le git-ajouter le sous-module-sur-le-superproject doit avoir travaillé. Cependant, vous avez également l'option pour git-caisse-sur-le-superproject tout de suite. Ceci est mentionné dans ce lien (la résolution des conflits sous-module), qui parle de la différence entre fichier conflits et summodule conflits, et comment les résoudre:
http://pacific.mpi-cbg.de/wiki/index.php/Git_Conflicts
Je pense que le lien n'est pas actuellement en train de travailler. WebArchive à la rescousse: web.archive.org/web/20100925080451/http://pacific.mpi-cbg.de/...
git checkout --leur <sous-module> ou pour votre version: git checkout --la nôtre <sous-module>
Des précisions à votre déclaration initiale: Le potentiel de fichiers en conflit/submodules doivent tous les deux être modifié dans les deux chemins ont divergé. Simplement une branche divergente ne signifie pas que vous obtiendrez les conflits.
OriginalL'auteur charley
Votre local sous-module et la distance sous-module ont divergé.
ou pour votre version:
puis valider les modifications avec la commande git add et valider les modifications.
Remarque: Votre shell peut ajouter une barre oblique à la submodulename si vous tabcomplete, car il est également un sous-répertoire. Si oui, vous devez le supprimer ou vous aurez:
OriginalL'auteur Andrew Wagner