«Conflits empêchent l’extraction» en utilisant Git dans Visual Studio

J’utilise Git dans Visual Studio. Lorsque j’essaie de synchroniser, le message suivant apparaît:

Une erreur s’est produite. Message détaillé: Une erreur a été générée par libgit2. Cetegory = checkout (MergeConflict). 1 conflits empêchent la caisse

Je n’ai aucune idée de ce que sont les conflits et comment les résoudre. Quelqu’un peut-il m’aider à surmonter ce problème?

J’ai résolu le même problème en utilisant l’invite de commande Git dans Visual Studio, car cela vous donne plus de possibilités:

http://msdn.microsoft.com/en-us/library/vstudio/dd286572.aspx

Vous pouvez également installer cette extension pour faciliter le travail avec elle (cela vous donne la possibilité de ne pas entrer de mots de passe à chaque fois):

http://gitcredentialstore.codeplex.com/

Ensuite, j’ai utilisé ces commandes:

 git pull // I got an error on this step git stash git pull 

plus d’informations sur les commandes ici:

http://git-scm.com/docs/git-pull

http://git-scm.com/book/en/Git-Tools-Stashing

http://git-scm.com/docs/git-commit

Et comme CharlesB l’a dit, cela est dû à “un conflit entre vos changements et les changements d’une autre twig”.

Vous avez des modifications non validées. Validez ou annulez ces modifications, puis Git “pull” fonctionnera.

J’ai rencontré ce problème lors d’une requête “pull” via Visual Studio.

Un fichier caché a été .ntvs_analysis.dat : .ntvs_analysis.dat

Pour découvrir ce fichier caché et remédier au problème, je:

  1. Fichiers cachés affichés juste pour voir s’il y avait des changements à des fichiers que je ne pouvais pas voir.
  2. Dans le répertoire du projet, utilisez l’interface graphique de Git pour annuler la modification du fichier caché trouvé.

Après cela, ma requête “pull” a réussi.


Panneau de configuration => Options des dossiers => Afficher => Afficher les fichiers et dossiers cachés

J’ai eu ce problème et la façon dont je l’ai résolu était par “force brute” … Je n’avais aucune modification à commettre, et aucun engagement à synchroniser mais j’ai toujours cette erreur en essayant d’extraire certaines modifications poussées par un autre développeur.

J’ai fini par décocher mon repo local dans le système de fichiers et re-cloner la twig distante. Voila!

Peut-être pas la solution la plus élégante, mais cela fonctionne si vous n’avez aucun changement local que vous craignez de perdre.

Notre environnement exige que nous ne nous fions pas à la restauration automatique de paquets Nuget, et le problème que j’ai rencontré était dû à:

  • Certains membres utilisent uniquement la console de commande GIT pour valider / tirer / pousser.
  • Je me fie aux outils VS2013 Git pour faire Commit / Pull / Push.
  • La console de commande Git pousse tout le contenu du dossier packages
  • Les outils Visual Studio ignorent le dossier des packages

Donc, le conflit était dû aux fichiers du dossier des paquets essayant d’être ajoutés via le pull VS, mais qui existaient déjà sur le disque dur. Pour l’instant, je viens de supprimer le dossier / fichier des paquets concernés et de refaire le pull, ça a fonctionné.

J’espère que cela t’aides.

si vous avez des changements dans le local, vous ne faites que commettre vos modifications et ne synchronisez pas ce commit

changes => Entrez un message de validation => Commit et ne synchronisez pas ce commit, vous pouvez alors tirer correctement

si vous n’avez pas de changements dans votre twig, allez sur Actions => Ouvrir la invite de commentaires => puis entrez cette ligne

  1. tirer git

  2. git stash

3.git tirer

Cela ressemble au résultat de ne pas append les exécutables et autres résultats générés automatiquement de Visual Studio dans un fichier .gitignore. Vous ne voulez pas être source contrôlant ces fichiers. Plus d’informations à ce sujet ici.