web-dev-qa-db-fra.com

Erreur "Conflicts prevent checkout" lors de l'utilisation de 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 le paiement

Je n'ai aucune idée de la nature des conflits et de la façon de les résoudre. Quelqu'un peut-il m'aider à surmonter ce problème?

63
Jim Blum

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

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

Vous pouvez également installer cette extension pour faciliter son travail (cela vous donne la possibilité de ne pas entrer de mot 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/fr/Git-Tools-Stashing

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

Et comme CharlesB a dit que cela est dû à "un conflit entre vos modifications et les modifications d'une autre branche".

52
Maks

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

34
Dachi

J'ai rencontré ce problème lors d'une requête "pull" via Visual Studio. 

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

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

  1. Montré les fichiers cachés juste pour voir s'il y avait des changements dans les fichiers que je ne pouvais pas voir.
  2. Dans le répertoire du projet, utilisez l'interface graphique Git pour annuler la modification du fichier caché que j'ai trouvé.

Après cela, ma demande "pull" a été acceptée.


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

3

J'avais ce problème et la façon dont j'ai résolu le problème était "brutalement" ... Je n'avais aucun changement à valider, et aucun commet à synchroniser, mais j'ai quand même eu cette erreur en essayant de récupérer des changements qu'un autre développeur a poussés. 

J'ai fini par bricoler mon dépôt local dans le système de fichiers et à cloner à nouveau la branche distante. Voila! 

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

1
How 'bout a Fresca

Notre environnement nous oblige à ne pas compter sur la restauration automatique du package Nuget, et le problème que j'ai rencontré était dû à:

  • Certains membres utilisent uniquement la console de commande GIT pour commettre/tirer/pousser.
  • Je m'appuie sur les outils VS2013 Git pour effectuer les actions Commit/pull/push.
  • La console de commande Git envoie tout le contenu du dossier des packages.
  • Les outils Visual Studio ignorent le dossier des packages

Donc, le conflit était dû au fait que des fichiers dans le dossier des packages essayaient d'être ajoutés via le pull VS mais existaient déjà sur le disque dur .

J'espère que cela t'aides.

0
Neville

si vous avez des modifications au niveau local, vous devez simplement valider vos modifications et ne pas synchroniser cette validation

changes => Entrer un message de validation => Valider et ne pas synchroniser cette validation, vous pouvez alors extraire correctement

si vous n’avez pas changé dans votre branche, allez à Actions => Ouvrir l’invite de commentaire => puis entrez cette ligne 

  1. git pull 

  2. git stash 

Traction 3.git

0
FatemehEbrahimiNik

Cela ressemble au résultat de ne pas ajouter d'exécutables et d'autres sorties générées automatiquement à partir de Visual Studio dans un fichier .gitignore. Vous ne voulez pas que la source contrôle ces fichiers. Plus d'informations à ce sujet ici.

0
ngm_code