web-dev-qa-db-ja.com

VisualStudio:libgit2によってエラーが発生しました。カテゴリ=チェックアウト

Git用のVisual Studio ToolsをインストールしたGitでTFSを使用しています。

TFSからすべてのコミット(合計5つ)をプルしようとしていますが、以下のエラーが表示されます。

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

どうすれば解決できますか?

error

33
Null Reference

悲しいことに、GitのVisual Studioプラグインは、この問題のトラブルシューティングに必要なエラーメッセージを表示しません。 (今後のリリースでその機能を計画することを願っています。)

Git Bashまたは TortoiseGit を使用して、最新のコミットをプルしてみてください。これらのツールのいずれかを使用すると、競合の場所を知ることができます。

20
dthrasher

エラーを確認するには、gitコマンドラインを実行する必要がありますTeam Emplorer-> Unsynched commits-> Actions-> Open in Command Promptで見つけることができます

次に、git pullコマンドを使用する必要があります

visualstudio.comを使用している場合は資格情報に注意してください。この場合、コマンドプロンプトからgitに接続するための代替ログインとパスワードが必要です。

問題を解決するには、以下の手順に従ってください:

1)Visual Studioを閉じます。
2)ソリューションを開かずにビジュアルスタジオを開きます。
3)チームビューアーを開き、git home-> changesに移動します。
4)次に、コミットをクリックします。
5)これで、未解決の競合が発生します。
6)競合を解決し、コミットします。

解決された問題:)。
乾杯

6
user3848772

このエラーは、次の場合によく発生します。

  • ネットワーク上にプロキシがあります:

    Gitプロキシ設定の構成に関するいくつかの解決策を参照してください here

  • または...接続しようとしているgit urlが256文字を超えています

5
Blowsie

Visual Studio Tool for Gitは、SSHプロトコルを使用したリモートリポジトリをサポートしていませんでした。HTTPとHTTPSのみがサポートされていましたが、現在はSSHもサポートしています。

これを解決する方法については、URLを参照してください https://github.com/libgit2/libgit2sharp/issues/255

1
Manik Arora

これは、着信fetchがコミットされていないファイルと競合する場合に発生します。まず、行った変更をコミットするか、元に戻します。そして、もう一度プッシュしてみてください。動作しない場合、競合ファイルはntracked filesにあるはずです。それを見つけて削除してください。これは動作するはずです。

0
Dayan

ソリューションを開かずにVS 2013でチームエクスプローラーからプルすることで、これを解決できました。一度だけこれをしてください。

これは機能し、それ以来、他のソリューションでもlibgitエラーは発生していません。

これは、VS 2012でもテストされています。

0
Tarun

異なるブランチでの着信および発信コミット。同期する前にそれらをマージする必要があります。私はソースツリーでそれをします、そこであなたは明らかに分岐を見ることができます。

0
Vitalik Demko

まず、ローカルブランチで保留中のローカル変更をコミットする必要があります。その後、マスターブランチからプルします。競合を解決し、masterブランチでローカルの変更をプッシュする

0
Mihir

私の場合、@ Blowsieからヒントを得て、フィドラーキャプチャまたは同様のパケットキャプチャツールをオフにしました。

0
Youngjae