web-dev-qa-db-fra.com

VisualStudio: Une erreur a été générée par libgit2. Catégorie = Checkout

J'utilise TFS avec Git, j'ai installé Visual Studio Tools pour Git.

J'essaie d'extraire tous les commits (5 au total) de TFS, mais je reçois l'erreur ci-dessous:

An error occurred. Detailed message: An error was raised by libgit2. 
Category = Checkout (MergeConflict).
2 conflicts prevent checkout

Comment résoudre ça?

error

33
Null Reference

Malheureusement, le plug-in Visual Studio pour Git n'affiche pas les messages d'erreur nécessaires pour résoudre ce problème. (J'espère qu'ils prévoient cette fonctionnalité pour une version ultérieure.)

Essayez de tirer les derniers commits en utilisant Git Bash ou en utilisant TortoiseGit . L'un ou l'autre de ces outils devrait vous permettre de savoir où sont vos conflits.

20
dthrasher

Pour voir l'erreur, vous devez exécuter la ligne de commande gitVous pouvez la trouver à Team Emplorer -> Unsynched commits -> Actions -> Open in Command Prompt

Ensuite, vous devriez utiliser git pull command

Soyez prudent avec les informations d'identification si vous utilisez visualstudio.com, Dans ce cas, vous devez disposer d'un nom d'utilisateur et d'un mot de passe différents pour vous connecter à git à partir de la commande Invite.

14

Pour résoudre le problème, suivez les étapes ci-dessous: -

1) Fermer le studio visuel.
2) Maintenant, ouvrez visual studio sans ouvrir aucune solution ..
3) Ouvrez le visualiseur d’équipe, puis allez dans git home-> changes.
4) Cliquez ensuite sur commit ..
5) Maintenant, vous aurez les conflits non résolus.
6) Résoudre les conflits et commettre ..

Problème résolu :).
À votre santé

6
user3848772

Cette erreur se produit souvent lorsque:

  • Vous avez un proxy sur votre réseau:

    Voir quelques solutions sur la configuration de vos paramètres de proxy git ici .

  • ou ... L'URL git à laquelle vous essayez de vous connecter dépasse 256 caractères

5
Blowsie

Visual Studio Tool pour Git ne prend pas en charge les référentiels distants utilisant le protocole SSH. Seuls les protocoles HTTP et HTTPS sont pris en charge, mais il prend désormais également en charge SSH.

Voir l’URL pour savoir comment résoudre ce problème. https://github.com/libgit2/libgit2sharp/issues/255

1
Manik Arora

Cela se produit lorsque votre fetch entrant entre en conflit avec vos fichiers non validés. essayez d’abord de valider les modifications que vous avez faites ou de les annuler. Et essayez de pousser à nouveau. si cela ne fonctionne pas, le fichier en conflit doit être dans les fichiers Untracked. Essayez de le trouver et de le supprimer. ça devrait marcher.

0
Dayan

J'ai pu résoudre ce problème en tirant parti de Team Explorer dans VS 2013 sans ouvrir aucune solution. Il suffit de faire cela une fois.

Cela a fonctionné et depuis lors, je n'ai pas vu d'erreur libgit pour aucune autre solution.

Ceci est également testé pour VS 2012.

0
Tarun

Commit entrant et sortant dans différentes branches. Vous devez les mettre en marge avant la synchronisation. Je le fais dans l’arbre source, où vous pouvez clairement voir les ramifications.

0
Vitalik Demko

Vous devez d’abord valider les modifications locales en attente dans une branche locale, puis extraire de la branche principale. conflits résolus et diffusion des modifications locales sur la branche principale

0
Mihir

Un indice de @Blowsie, dans mon cas, a désactivé la capture de violoneux ou un outil de capture de paquet similaire.

0
Youngjae