J'ai résolu cela avec une approche complètement différente, en utilisant uniquement le contrôle de source de Xcode.
Contexte: Une autre équipe a poussé les modifications du référentiel Git distant (via Beanstalk). De mon côté, les fichiers .xcodeproj sont entrés dans un répertoire différent et les modifications n'ont pas été prises. Plus tard, lorsque j'ai essayé de valider, j'ai reçu une erreur de conflit d'arbre dans Xcode.
Étant presque impossible à corriger en utilisant Xcode, j'ai remplacé le .xcodeproj
fichier par une version téléchargée depuis le serveur Git. Le résultat ... le projet Xcode a semblé s'éclaircir, mais toutes les mises à jour du pull corrompu se présentaient comme des modifications que j'avais apportées et étaient mises en scène pour une validation.
Cependant, lorsque j'essaie de valider, j'ai reçu la même erreur «fatal: impossible de faire une validation partielle lors d'une fusion», décrite ici.
Voici comment j'ai résolu le problème ... (Maintenant, comprenez que je suis un programmeur débutant, donc je pourrais manquer de compréhension ... mais mon ignorance m'a amené à trouver une autre façon de le faire.) Tout d'abord, j'ai cloné mon maître Branche dans une branche secondaire et est passée à cette branche. J'ai ensuite créé une copie de travail et placé le répertoire dans cette copie de travail en dehors du répertoire de projet d'origine. (Je ne sais pas si cela était nécessaire, mais c'est ce que j'ai fait en lisant d'autres techniques de dépannage.) Ensuite, j'ai changé de branche vers le maître, où j'ai réalisé que tous mes fichiers intermédiaires (modifications apportées à Commit) avaient disparu. Pour m'assurer que tous les fichiers ont été mis à jour avec les dernières modifications apportées par l'autre partie, j'ai créé une nouvelle branche appelée ThirdBranch, qui a dupliqué tous les fichiers, Poussez-le sur le serveur Git et laissez Beanstalk comparer ma version de serveur de la branche principale à la branche ThirdBrach que je viens de pousser (ligne par ligne), et toutes les modifications apportées par l'autre partie étaient présentes sur mon Xcode. Cela signifiait que mon référentiel maître et le référentiel maître Git étaient les mêmes, ce qui vérifie que j'ai résolu le problème en utilisant Xcode, uniquement.
Ne me demandez pas comment, au-delà de ce que je viens de décrire ... et comblez certainement les lacunes que j'ai omises. Je suis nouveau dans ce domaine et je ne comprends pas tout. Peut-être qu'un programmeur expérimenté peut séparer les informations non pertinentes des informations pertinentes et recréer cette technique plus clairement, ce qui explique en partie pourquoi je poste cela.
Il s'agit d'une réponse en double à la question en double comme à: Échec de la fusion Xcode Git est bloqué