web-dev-qa-db-fra.com

L'opération n'a pas pu être effectuée car "PROJECTNAME" a un ou plusieurs conflits d'arborescence.

J'utilise Git et lorsque j'ai essayé d'extraire une branche de développement plus récente avec ma branche actuelle à l'aide du menu de contrôle de source de XCode, j'ai reçu ce message d'erreur:

The operation could not be performed because "ProjectName" has one or more tree conflicts.

Comment résoudre ces conflits d'arbres? Merci

21
Tony Pham

Il existe un conflit dans le fichier de projet que vous devez extraire à l'aide de la ligne de commande ou d'un outil graphique tel que SourceTree (Free) et le résoudre manuellement dans un éditeur de texte ou un outil de comparaison.

Voir aussi: Comment utiliser Git correctement avec XCode?

10
GayleDDS

J'avais un problème avec ce problème. Cela se produit souvent lorsque je supprime ou modifie la variable directory du projet. Par exemple, lorsque je déplace un répertoire dans un autre répertoire existant, les deux répertoires sont des dossiers réels. L'avertissement existe.

En fait, tree conflict signifie que le niveau de répertoire de votre référentiel de travail n’est pas le même que sur le serveur.

C'est ma façon de résoudre ce problème: 

  1. Vérifiez quel répertoire de votre référentiel de travail local diffère du référentiel du serveur.
  2. Si le référentiel local a un répertoire supplémentaire Delete (local) -> update -> OK, Si le référentiel local manque de quelque chose et que les éléments supplémentaires du serveur sont inutiles, Delete (server) -> update .NOTE ce conflit d'arbre n'existe plus.

L'espoir aide.

11
lynulzy

J'ai eu un problème similaire. Alors j'ai ouvert une fenêtre de terminal et changé dans le répertoire, vérifié que ma branche était propre avec un git status, changé en maître en utilisant git checkout master et fusionné ma branche avec git merge Push-notifications. La page Git Branching - Branchement et fusion de base l'explique en détail.

3
kometen

Pour moi, cette erreur s'est produite lorsque Xcode a été confondu sur la branche sur laquelle le projet était actuellement. Je l'ai donc résolu en basculant la branche sur master, puis à nouveau sur l'ancienne branche. Alors, essayez d'abord ce correctif simple.

1
turingtested

Ma situation. Fusion de la branche principale avec des modifications mineures dans ma version en cours de développement ou de travail ..__ J'ai résolu ce problème en:

  1. Déplacement du fichier en développement avec le conflit d'arborescence sur mon bureau (c'est-à-dire hors du répertoire contrôlé du référentiel).
  2. Engager la version la plus en développement.
  3. Ré-exécutez la fusion à partir du maître dans la version la plus récente.
  4. Résoudre les conflits de fusion réels.
  5. Confirmé que le fichier qui a été fusionné de main dans la branche en développement était là et correct.
0
Jacksonsox