web-dev-qa-db-ja.com

Visual Studio 2017 - Gitが致命的なエラーで失敗しました

私はVisual Studio 2017 Community Edition(CE)を使用しています。Microsoftアカウントにサインインし、VSTSに接続しました。すべてのプロジェクトとリポジトリを見ることができますが、変更を取得/取得/プッシュしようとすると、次のエラーが発生します。

Error encountered while pushing to the remote repository: Git failed with a fatal error.
PushCommand.ExecutePushCommand

そしてそれに応じて、フェッチコマンドとプルコマンドも同様です。

Git for WindowsをVisual Studio 2017インストーラーにインストールしたのですが、VSTSと連携できないだけでなく、GitHubのリポジトリと連携することもできません。他の誰かがこれに気づいたことがありますか?これまでのところ私の2台のマシンで起こりました。

私にとっては、Visual Studio 2015 Enterprise Edition(EE)とCEはまったく問題なく動作します。

この問題は、私が考えていたよりはるかに多くの認識を得ているように思われます。これは、これがVisual StudioがGitをどのように扱っているかの問題であると私に信じさせます。また、Visual Studioを更新するたびにこの問題が発生することにも気付きました。Gitを再び機能させるには、以下のいくつかの回答の手順を実行する必要があります。私はなぜこれが起こっているのかわからないし、マイクロソフトがこの問題を解決することを計画しているかどうかも私は知りません。

124
Toby

これまでの答えではまだ触れていない解決策をここに追加するつもりですが、これで解決しました。

  1. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\に移動してGitフォルダーを削除します。

  2. お使いのシステムにGitのバージョンがインストールされていないことを確認し、 コントロールパネル プログラムと機能 に移動して削除します。ネイティブGitインストール).

  3. Visual Studio 2017インストーラを開き、インストールオプションで[Git For Windows]のチェックを外します。

  4. Git Webサイト に行き、Git for Windowsの最新バージョンをインストールします。

  5. Visual Studioのインストーラーに戻って、もう一度 "Git for Windows"をチェックしてください。それはそれがそうであるように見えるかもしれないのにそれは新しいバージョンをダウンロードしないでしょう。それが終わったら、あなたのGitはVSTSとTF Explorerでうまくいくはずです。

56
Toby

コントロールパネル ユーザーアカウント Git用の資格情報マネージャ から一般的な資格情報を変更した後、それは私のために機能しました。

Enter image description here

47
wbing520

私は別の問題を抱えていました。私のコンピュータはsystem32とsyswow64に古いOpenSSL DLLファイルを含んでいたので問題を解決するためにlibeay32.dllssleay32.dllをあるフォルダからVisual Studio 2017のGitフォルダ内の別のフォルダにコピーする必要がありました。

から:C:\Program Files (x86)\Microsoft Visual Studio\2017\ vs_edition \Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\

TO:C:\Program Files (x86)\Microsoft Visual Studio\2017\ vs_edition \Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\git-core

参照:Git - リモートリポジトリのクローンを作成できない

40
flatrick

Git - リモートリポジトリのクローンを作成することはできません

  1. Visual Studio 2017 CEインストールを変更します→Windows用Gitを削除します(インストーラー→変更→単一コンポーネント)。

  2. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Gitからすべて削除します。

  3. Visual Studio 2017 CEインストールを変更する→Windows用Gitを追加する(インストーラー→変更→単一コンポーネント)

  4. システムパスのGitを設定して、Windows(32または64ビットバージョン)にGitをインストールします。

おそらく、ポイント2と3は必要ありません。私は試しませんでした。

今では私のGogでも問題なく動作しています。

13
AngelBlueSky

これは私が得ていたエラーです:

Git failed with a fatal error.
pull --verbose --progress --no-edit --no-stat --recurse-submodules=no Origin

以前の方法をすべて試しましたが、うまくいきませんでした。後でコードに競合があることがわかりました(Visual Studio 2017の出力ウィンドウを参照)。

コードを元に戻すだけでうまくいきました。

11
JerryGoyal

リポジトリを同期しようとしていたときにGitからこのようなエラーが発生しました(同僚からの保留中の変更を持っている間にコミットを送信しようとしました)。

Gitは致命的なエラーで失敗しました。 pull --verbose --progress --no-edit --no-stat --recurse-submodules = no Origin

それを押した後それが判明した Commit all ローカルコミットを作成するためのボタン、Visual Studioはコミットされていないファイルを1つ残していましたが、この精巧なエラーメッセージは実際には「すべての変更をコミットする」という意味でした。

その見つからないファイルはEntity Framework 6モデルであり、変更されていないものの、コミットされていないファイルとして表示されることがよくあります。

すべてコミットすることも、コミットされていないすべての変更を元に戻すこともできます。

7
ZenekMetalGuru

これは、プルと競合する保留中のコミットがあるときにVS 2017で発生するようです。あなたがコマンド端末に行って "git pull Origin"を実行すると、通常混乱の原因となるエラーが発生します。解決するには、VS 2017ですべての変更をチェックインしてからVS 2017から再度プルまたは同期を試みます。言うまでもなく...これはVS 2017では望ましくない動作です。

5
GGleGrand

私は同じ問題を抱えていました。次の手順で問題が解決しました。

  1. 「C:¥Program Files(x86)¥Microsoft Visual Studio 14.0¥2017¥Professional¥Common7¥IDE¥CommonExtensions¥Microsoft¥TeamFoundation¥Team Explorer¥Git」のバックアップと削除
  2. Gitの最新版をインストールしてください: https://git-scm.com/download/win
3
Undercover1989

私はGitKrakenとVisual Studio 2017を使っています。

GitKrakenがリポジトリを複製するとき、 " https://github.com/user/Repo.git "の代わりに "[email protected]:user/Repo.git"のようなフェッチアドレスを残します。

これを修正するには、チームエクスプローラー設定リポジトリ設定リモート編集に移動して、変更します。 "git @"から "https://" および ":"から "/"へ。

3
Avius

私は同じ問題を抱えていました。 ビジュアルスタジオの再起動 私のために働いていた...あなたはものを再インストールする前にそれを試すことができます。

2
Éric Bergeron

うわー!この問題には非常に多くの解決策があります。

この簡単なものを試してください!

パスワードを変更してください。

先日、私は自分のパスワードが14日で期限切れになるというこの通知を受け始めました。 2日後、このエラーになりました。

enter image description here

私はgitやOpenSSLのライブラリをハッキングする気がしませんでした。だから私は Windowsのパスワードを変更しました 私のコンピュータではうまくいきました。

更新

それからそれは再び起こり始めました。 チームエクスプローラ から 同期 に移動します。それから アクション>コマンドプロンプトを開く を実行します。コマンドプロンプトにgit Push Originと入力します。それはあなたのために働くかもしれません。

2
Jess

Control Panel\All Control Panel Items\Credential Manager ==> Windows CredentialsでGitを削除します。http:// ........

再試行してください。

楽しい !

2
Abdellah Azizi

Gitアクセスパスワードを変更した後にこの問題が発生しました。

PowerShellコンソールから資格情報を再設定する必要がありました。

Gitリポジトリフォルダレベルでは、スクリプトは次のとおりです。

git config --system --unset credential.helper

git config --system credential.helper store

git fetch

ユーザーに続いてパスワードの入力を求められます。

次のコマンドは認証を要求しなくなります。

git fetch
1
Wagner Melo

リポジトリ設定の http://username@asdf/xxx/yy/zzz.git から username @ を削除することで動作しました。

チームエクスプローラ 設定 リポジトリ設定 注釈 編集

1
Michael Nylund

Visual Studio 2017 CEを使用して、次のようなエラーメッセージが表示されました。

リモートリポジトリにプッシュできませんでした。詳細については、出力ウィンドウを参照してください。

出力ウィンドウには以下のものが表示されました。

リモートリポジトリへのプッシュ中にエラーが発生しました:Gitプロセスが突然失敗しました。 PushCommand.ExecutePushCommand

私はGitHubデスクトップを使って変更をプッシュしようとしました。以下のエラーメッセージが表示されます。

GitHubで非公開としてマークされたEメールアドレスが含まれているため、これらのコミットをプッシュできません。

それでおしまい。溶液:

gitHubアカウントを開く>>設定>>メール>>「自分のメールアドレスを非公開にする」のチェックを外します

完了しました。それが私の場合の問題でした。

1
Pranav

私もこの問題に遭遇しました。私はその日の早い時期に自分のコードを同期したので、このGitエラーが突然発生したことは意味がありません。 Visual Studioを再起動しても違いはありません。上記の回答を確認しても明確な解決策が見つからなかったので、私はすでにインストールしたTortoiseGitを使用してVisual Studioの外部で同期を試みることにしました。これはうまくいった。その後、私はVisual Studio内で正常に同期することができました。 TortoiseGitをまだお持ちでない場合は、tortoisegit.orgから(無料で)ダウンロードできます。

1
user1828192

私の場合は、Windowsがアップデートを実行し、PCの再起動を待っていました。通知はありませんでしたが、問題は解決しました。

これらのVisual Studioのディレクトリやアプリケーションを使って猿を打つ前に、まずそれを試してみてください。

1
RLH

私は何も再インストールせずにコマンドラインでこの行を使用して問題を解決することができました。

git config - グローバル認証情報。{myserver} .authority NTLM

単に{myserver}をあなたのサーバのホスト名(httpやポート番号は除く)に置き換えてください。

その後、VSは正しく接続できました。

ソース: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/blob/master/Docs/Faq.md#qi-thought-Microsoft-was-maintaining-this-why-does- -gcm-tfsで期待どおりに動作しない

1
maxim1500

gITをインストールしてGIT LFSをチェックしてください。

0
zzfima

私の場合、レポへのプッシュを妨げている失敗したJestユニットテストは、「リモートリポジトリへのプッシュ中にエラーが発生しました:Gitは致命的なエラーで失敗しました」という同じ一般的なエラーを出します。

0
Rob C

私は同様の問題を抱えていました。 Visual Studio 2017では、 Rebase オプションを使用して問題を解決しました。

私はマスターブランチしか持っていません。私はマスターからオリジン/マスター(同じブランチへの意味)にリベースし、 Rebase をクリックしました。 Rebaseを実行する前のステータスは、ローカルブランチベースとGitコードベースが同期状態ではなかったため、プッシュ/同期できないという変更がコミットされました。

0
Pallavi

GNUツールからwgetを入手し、それを c:\ windows に直接コピーした後も、この問題が発生しました。 libeay.dllおよびlibssl.dllファイルもアーカイブにありました。それらが c:\ windows にあったとき、私はこの問題を抱えていました。それらを削除してすぐにそれを修正しました。ですから、あなたのパスのどこかにこれらの.DLLがあるかどうかを確認してください。

0
Nick Pirocanac

私の場合、ここでの回答のいくつかに従って、Gitをアンインストールするほど極端なことをする必要はありませんでした。 Visual Studioの代わりにコマンドラインを使用する必要がありました。

ソリューションのルートでcmdを開き、次を入力します。

git pull

その後、問題が何であるかが正確に通知されます。私の場合、上書きされるはずのコミットされていない変更があり、続行する前にコミットする必要があることを教えてくれました。

これを行うと、プルが成功し、マージツールで競合を解決できました。

TLDR

Visual Studioの代わりにコマンドラインを使用して、より完全なエラーメッセージを取得します。

0
Ben

私は新しいコピーを複製できるように、ローカルレポを削除することで問題を悪化させました。私は新しいエラーに直面しました"gitが見つかりませんGitが致命的なエラーで失敗しました。致命的:リポジトリ 'xyz'が見つかりません"

私は解決策なしで私がグーグルについてのすべての提案を試みました。次の簡単なステップは私のためにうまくいき、私はそれを可能な解決策の増え続けるリストに加えています:

git config --get http.proxy resultは です。http://google.com:80

これは正しくないので、私はそれを取り除きました。

git config --global --unset http.proxy

0
CodesOfPSJ

プロキシを使用している場合は、コマンドプロンプトを開いて試してください。

git config --global http.proxy <proxy address>:<port>

より多くの情報: https://github.com/desktop/desktop/issues/2789

0
Simba Meek

最後のバージョンの Git for Windows をインストールしたら、編集するために設定ファイルを開く必要があります。

git config --global --edit

クリック Insertをクリックしてすべての設定を削除し、 Esc:wqと入力して、 Enter 保存する。

これで、BashまたはIDEを使用して有効なユーザーでリポジトリのクローンを作成できます。

0
johnander11

私が自分のパスワードを変更しなければならないとき - この問題はいつも私に起こります。私の古い資格情報には、常に更新されない別の問題が常にあるように感じます。

  1. Windows資格情報マネージャに移動します

  2. Tfsクレデンシャルエントリをすべて削除する

終了しました

0
Peter

リモートブランチを削除しようとすると、VS 2017で同じエラーがポップアップしました。問題は、ブランチがサーバー上にないこと(GITでTFS2018を使用)が、どういうわけかVisual Studioが "remote/Origin"セクションに表示されることでした。これは、リモートブランチを削除できないことを意味しました(VSはこのエラーを出力していましたが、サーバーエクスプローラーはブランチをまったく表示しませんでした)。

修正方法は次のとおりです(VS 2017でテスト済み):

  1. Visual Studioで、「不正な」リモートブランチをダブルクリックします。
  2. VSは、そこからローカルブランチを作成する必要があります。
  3. ローカルブランチを右クリックして、[リモートブランチの設定解除]を選択します。
  4. ローカルブランチを右クリックして、「プッシュブランチ」を選択します。
  5. trueに対応するリモートブランチが必要です。
  6. リモートブランチを削除してから、ローカルブランチを削除します。

私と同じ問題を抱えているこのスレッドで終わる誰かを助けることを願っています。

0
XYZ

64ビットバージョンをアンインストールし、32ビットバージョンのGitをインストールすることで、この問題を解決しました。

0
tonycdp

ここで多くの解決策が、私にとってはここでうまくいったのです。

  1. 私は最初に私のWindowsから資格情報を変更しました。 Windowsの検索で、[資格情報マネージャ]を検索し、[Windows資格情報]に移動して、パスワードを新しいパスワードに更新します([編集]オプション)。 (コントロールパネル→ユーザーアカウント→Visual Studio Git用資格情報マネージャー)

  2. Visual Studioを再起動してプッシュしようとしましたが、それでも「認証に失敗しました」というエラーが表示されます。

  3. ステップ1でWindows資格情報マネージャに戻り、自分のVisual Studioに関連付けられているGITアカウントを削除し([削除]オプション)、もう一度プッシュして確認しました。

0
DAVID OLASUPO

enter image description here

プル/フェッチ/プッシュを実行すると、出力ウィンドウに上記のエラーが表示され、以下の解決策に従って、問題が解決しました。

Visual Studio 2017エンタープライズエディションを使用している場合は、以下のコマンドでuserIdをユーザーIDに置き換え、windows run window(windows key + R)でこのコマンドを実行します。

/ netonly/user:userId "C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe"

enter image description here

パスワードの入力を求められますので、パスワードを入力してください。新しいVisual Studioインスタンスが開き、正常に動作し始めます...

0
Rex Andrew
  1. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\に移動します
  2. Gitフォルダを削除します
  3. ビジュアルスタジオ
0
Kanna Reddy

AngelBlueSkyの答え 私のために部分的に働いた。私はステップ4の後にGitグローバル設定をきれいにするためにこれらの追加行を実行しなければなりませんでした:

git config --global credential.helper wincred
git config http.sslcainfo "C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt"
git config --global --unset core.askpass
git config --global --unset mergetool.vsdiffmerge.keepbackup
git config --global --unset mergetool.vsdiffmerge.trustexitcode
git config --global --unset mergetool.vsdiffmerge.cmd
git config --global --unset mergetool.Prompt
git config --global --unset merge.tool
git config --global --unset difftool.vsdiffmerge.keepbackup
git config --global --unset difftool.vsdiffmerge.cmd
git config --global --unset difftool.Prompt
git config --global --unset diff.tool

それからgit config -l(任意のgitリポジトリから実行される)はこれだけを返すべきです:

core.symlinks=false
core.autocrlf=false
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=xxxxxxxxxxxx
[email protected]
credential.helper=wincred
core.bare=false
core.filemode=false
core.symlinks=false
core.ignorecase=true
core.logallrefupdates=true
core.repositoryformatversion=0
remote.Origin.url=https://[email protected]/xxx/xxx.git
remote.Origin.fetch=+refs/heads/*:refs/remotes/Origin/*
branch.master.remote=Origin
branch.master.merge=refs/heads/master
branch.identityserver.remote=Origin
branch.identityserver.merge=refs/heads/identityserver
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt

git statusおよびgit fetchコマンドを実行して、コマンドラインから機能することを確認します。

それから、あなたのリポジトリが戻ってくるはずのVisual Studioに行ってください、そして、すべてのsync/push/pullは問題なく動作するはずです。

0
Softlion

試してください:

[コントロールパネル] - > [ユーザーアカウント] - > [Credentail manager]で、VSのすべてのインスタンスを閉じてからTFSサーバーのアカウントを削除する

参照してください: https://developercommunity.visualstudio.com/content/problem/142173/after-changing-domain-password-couldnt-connect-to.html