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
どうすれば解決できますか?
悲しいことに、GitのVisual Studioプラグインは、この問題のトラブルシューティングに必要なエラーメッセージを表示しません。 (今後のリリースでその機能を計画することを願っています。)
Git Bashまたは TortoiseGit を使用して、最新のコミットをプルしてみてください。これらのツールのいずれかを使用すると、競合の場所を知ることができます。
エラーを確認するには、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)競合を解決し、コミットします。
解決された問題:)。
乾杯
このエラーは、次の場合によく発生します。
ネットワーク上にプロキシがあります:
Gitプロキシ設定の構成に関するいくつかの解決策を参照してください here 。
または...接続しようとしているgit urlが256文字を超えています
Visual Studio Tool for Gitは、SSHプロトコルを使用したリモートリポジトリをサポートしていませんでした。HTTPとHTTPSのみがサポートされていましたが、現在はSSHもサポートしています。
これを解決する方法については、URLを参照してください https://github.com/libgit2/libgit2sharp/issues/255
これは、着信fetchがコミットされていないファイルと競合する場合に発生します。まず、行った変更をコミットするか、元に戻します。そして、もう一度プッシュしてみてください。動作しない場合、競合ファイルはntracked filesにあるはずです。それを見つけて削除してください。これは動作するはずです。
ソリューションを開かずにVS 2013でチームエクスプローラーからプルすることで、これを解決できました。一度だけこれをしてください。
これは機能し、それ以来、他のソリューションでもlibgitエラーは発生していません。
これは、VS 2012でもテストされています。
異なるブランチでの着信および発信コミット。同期する前にそれらをマージする必要があります。私はソースツリーでそれをします、そこであなたは明らかに分岐を見ることができます。
まず、ローカルブランチで保留中のローカル変更をコミットする必要があります。その後、マスターブランチからプルします。競合を解決し、masterブランチでローカルの変更をプッシュする
私の場合、@ Blowsieからヒントを得て、フィドラーキャプチャまたは同様のパケットキャプチャツールをオフにしました。