Erreur "Conflicts prevent checkout" 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é soulevée par libgit2. Cetegory = checkout (MergeConflict). 1 conflits empêcher 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?
7 réponses
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 capacités:
http://msdn.microsoft.com/en-us/library/vstudio/dd286572.aspx
vous pouvez également installer cette extension pour faciliter le travail avec elle (il vous donne la possibilité de ne pas entrer de mots de passe à chaque fois):
http://gitcredentialstore.codeplex.com /
alors j'ai utilisé cette commande:
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 dit qu'il est dû à "conflit entre vos modifications et celles d'une autre branche".
vous avez des changements non engagés. Valider ou annuler les modifications, puis Git "pull" fonctionnera.
j'ai éprouvé ce problème lors d'une demande" pull " via Visual Studio.
il y avait un changement dans un fichier caché: .ntvs_analysis.dat
pour découvrir ce fichier caché et remédier au problème, je:
- a Montré les fichiers cachés † juste pour voir si il y avait des changements à des fichiers que je ne pouvais pas voir.
- dans le répertoire du projet, utilisé git GUI pour annuler le changement vers le caché le fichier que j'ai trouvé.
après cela, ma requête "pull" a été acceptée.
† Panneau de configuration => Options des Dossiers => Affichage => 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"la force brute"...Je n'avais aucun changement à propager, et aucune propagation à synchroniser, mais j'ai quand même eu cette erreur en essayant de tirer quelques changements qu'un autre développeur a poussés.
j'ai fini par claquer ma correspondance locale dans le système de fichiers et re-cloner la branche distante. Voila!
peut-être pas la solution la plus élégante, mais ça marche si vous n'avez pas de changements locaux qui vous inquiètent perdre.
notre environnement nous oblige à ne pas compter sur la restauration automatique du paquet Nuget, et le problème que j'ai rencontré était dû à:
- certains membres n'utilisent la console de commande GIT que pour commit / pull / push.
- je me fie aux outils Git VS2013 pour faire Commit / pull /push.
- la console de commande git repousse tout le contenu du dossier packages
- Visual Studio tools ignore le dossier packages
donc le conflit était dû à des fichiers dans le dossier packages qui essayaient d'être ajoutés via le VS pull, mais qui existaient déjà sur le disque dur. Pour l'instant, je viens de supprimer le dossier/les fichiers packages pertinents et de rediriger le pull, qui a fonctionné.
Espérons que cette aide.
si vous avez des modifications en local, alors vous n'avez qu'à les propager et ne pas les synchroniser
modifications => Entrez un Message de Commit => s'Engager et de ne pas Synchroniser ce commit,ensuite, vous pouvez tirer correctement
si vous n'avez pas de changements dans votre branche, allez à Actions = > Open Comment Prompt = > puis entrez cette ligne
-
git pull
-
git stash
3.git pull