私は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を再び機能させるには、以下のいくつかの回答の手順を実行する必要があります。私はなぜこれが起こっているのかわからないし、マイクロソフトがこの問題を解決することを計画しているかどうかも私は知りません。
これまでの答えではまだ触れていない解決策をここに追加するつもりですが、これで解決しました。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\
に移動してGit
フォルダーを削除します。
お使いのシステムにGitのバージョンがインストールされていないことを確認し、 コントロールパネル → プログラムと機能 に移動して削除します。ネイティブGitインストール).
Visual Studio 2017インストーラを開き、インストールオプションで[Git For Windows]のチェックを外します。
Git Webサイト に行き、Git for Windowsの最新バージョンをインストールします。
Visual Studioのインストーラーに戻って、もう一度 "Git for Windows"をチェックしてください。それはそれがそうであるように見えるかもしれないのにそれは新しいバージョンをダウンロードしないでしょう。それが終わったら、あなたのGitはVSTSとTF Explorerでうまくいくはずです。
私は別の問題を抱えていました。私のコンピュータはsystem32とsyswow64に古いOpenSSL DLLファイルを含んでいたので問題を解決するためにlibeay32.dll
とssleay32.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 - リモートリポジトリのクローンを作成することはできません:
Visual Studio 2017 CEインストールを変更します→Windows用Gitを削除します(インストーラー→変更→単一コンポーネント)。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git
からすべて削除します。
Visual Studio 2017 CEインストールを変更する→Windows用Gitを追加する(インストーラー→変更→単一コンポーネント)
システムパスのGitを設定して、Windows(32または64ビットバージョン)にGitをインストールします。
おそらく、ポイント2と3は必要ありません。私は試しませんでした。
今では私のGogでも問題なく動作しています。
これは私が得ていたエラーです:
Git failed with a fatal error.
pull --verbose --progress --no-edit --no-stat --recurse-submodules=no Origin
以前の方法をすべて試しましたが、うまくいきませんでした。後でコードに競合があることがわかりました(Visual Studio 2017の出力ウィンドウを参照)。
コードを元に戻すだけでうまくいきました。
リポジトリを同期しようとしていたときにGitからこのようなエラーが発生しました(同僚からの保留中の変更を持っている間にコミットを送信しようとしました)。
Gitは致命的なエラーで失敗しました。 pull --verbose --progress --no-edit --no-stat --recurse-submodules = no Origin
それを押した後それが判明した Commit all ローカルコミットを作成するためのボタン、Visual Studioはコミットされていないファイルを1つ残していましたが、この精巧なエラーメッセージは実際には「すべての変更をコミットする」という意味でした。
その見つからないファイルはEntity Framework 6モデルであり、変更されていないものの、コミットされていないファイルとして表示されることがよくあります。
すべてコミットすることも、コミットされていないすべての変更を元に戻すこともできます。
これは、プルと競合する保留中のコミットがあるときにVS 2017で発生するようです。あなたがコマンド端末に行って "git pull Origin"を実行すると、通常混乱の原因となるエラーが発生します。解決するには、VS 2017ですべての変更をチェックインしてからVS 2017から再度プルまたは同期を試みます。言うまでもなく...これはVS 2017では望ましくない動作です。
私は同じ問題を抱えていました。次の手順で問題が解決しました。
私はGitKrakenとVisual Studio 2017を使っています。
GitKrakenがリポジトリを複製するとき、 " https://github.com/user/Repo.git "の代わりに "[email protected]:user/Repo.git"のようなフェッチアドレスを残します。
これを修正するには、チームエクスプローラー→設定→リポジトリ設定→リモート→編集に移動して、変更します。 "git @"から "https://" および ":"から "/"へ。
私は同じ問題を抱えていました。 ビジュアルスタジオの再起動 私のために働いていた...あなたはものを再インストールする前にそれを試すことができます。
うわー!この問題には非常に多くの解決策があります。
この簡単なものを試してください!
パスワードを変更してください。
先日、私は自分のパスワードが14日で期限切れになるというこの通知を受け始めました。 2日後、このエラーになりました。
私はgitやOpenSSLのライブラリをハッキングする気がしませんでした。だから私は Windowsのパスワードを変更しました 私のコンピュータではうまくいきました。
更新
それからそれは再び起こり始めました。 チームエクスプローラ から 同期 に移動します。それから アクション>コマンドプロンプトを開く を実行します。コマンドプロンプトにgit Push Origin
と入力します。それはあなたのために働くかもしれません。
Control Panel\All Control Panel Items\Credential Manager
==> Windows Credentials
でGitを削除します。http:// ........
再試行してください。
楽しい !
Gitアクセスパスワードを変更した後にこの問題が発生しました。
PowerShellコンソールから資格情報を再設定する必要がありました。
Gitリポジトリフォルダレベルでは、スクリプトは次のとおりです。
git config --system --unset credential.helper
git config --system credential.helper store
git fetch
ユーザーに続いてパスワードの入力を求められます。
次のコマンドは認証を要求しなくなります。
git fetch
リポジトリ設定の http://username@asdf/xxx/yy/zzz.git から username @ を削除することで動作しました。
チームエクスプローラ → 設定 → リポジトリ設定 → 注釈 → 編集
Visual Studio 2017 CEを使用して、次のようなエラーメッセージが表示されました。
リモートリポジトリにプッシュできませんでした。詳細については、出力ウィンドウを参照してください。
出力ウィンドウには以下のものが表示されました。
リモートリポジトリへのプッシュ中にエラーが発生しました:Gitプロセスが突然失敗しました。 PushCommand.ExecutePushCommand
私はGitHubデスクトップを使って変更をプッシュしようとしました。以下のエラーメッセージが表示されます。
GitHubで非公開としてマークされたEメールアドレスが含まれているため、これらのコミットをプッシュできません。
それでおしまい。溶液:
gitHubアカウントを開く>>設定>>メール>>「自分のメールアドレスを非公開にする」のチェックを外します
完了しました。それが私の場合の問題でした。
私もこの問題に遭遇しました。私はその日の早い時期に自分のコードを同期したので、このGitエラーが突然発生したことは意味がありません。 Visual Studioを再起動しても違いはありません。上記の回答を確認しても明確な解決策が見つからなかったので、私はすでにインストールしたTortoiseGitを使用してVisual Studioの外部で同期を試みることにしました。これはうまくいった。その後、私はVisual Studio内で正常に同期することができました。 TortoiseGitをまだお持ちでない場合は、tortoisegit.orgから(無料で)ダウンロードできます。
私の場合は、Windowsがアップデートを実行し、PCの再起動を待っていました。通知はありませんでしたが、問題は解決しました。
これらのVisual Studioのディレクトリやアプリケーションを使って猿を打つ前に、まずそれを試してみてください。
私は何も再インストールせずにコマンドラインでこの行を使用して問題を解決することができました。
git config - グローバル認証情報。{myserver} .authority NTLM
単に{myserver}をあなたのサーバのホスト名(httpやポート番号は除く)に置き換えてください。
その後、VSは正しく接続できました。
gITをインストールしてGIT LFSをチェックしてください。
私の場合、レポへのプッシュを妨げている失敗したJestユニットテストは、「リモートリポジトリへのプッシュ中にエラーが発生しました:Gitは致命的なエラーで失敗しました」という同じ一般的なエラーを出します。
私は同様の問題を抱えていました。 Visual Studio 2017では、 Rebase オプションを使用して問題を解決しました。
私はマスターブランチしか持っていません。私はマスターからオリジン/マスター(同じブランチへの意味)にリベースし、 Rebase をクリックしました。 Rebaseを実行する前のステータスは、ローカルブランチベースとGitコードベースが同期状態ではなかったため、プッシュ/同期できないという変更がコミットされました。
GNUツールからwget
を入手し、それを c:\ windows に直接コピーした後も、この問題が発生しました。 libeay.dll
およびlibssl.dll
ファイルもアーカイブにありました。それらが c:\ windows にあったとき、私はこの問題を抱えていました。それらを削除してすぐにそれを修正しました。ですから、あなたのパスのどこかにこれらの.DLLがあるかどうかを確認してください。
私の場合、ここでの回答のいくつかに従って、Gitをアンインストールするほど極端なことをする必要はありませんでした。 Visual Studioの代わりにコマンドラインを使用する必要がありました。
ソリューションのルートでcmd
を開き、次を入力します。
git pull
その後、問題が何であるかが正確に通知されます。私の場合、上書きされるはずのコミットされていない変更があり、続行する前にコミットする必要があることを教えてくれました。
これを行うと、プルが成功し、マージツールで競合を解決できました。
Visual Studioの代わりにコマンドラインを使用して、より完全なエラーメッセージを取得します。
私は新しいコピーを複製できるように、ローカルレポを削除することで問題を悪化させました。私は新しいエラーに直面しました"gitが見つかりませんGitが致命的なエラーで失敗しました。致命的:リポジトリ 'xyz'が見つかりません"
私は解決策なしで私がグーグルについてのすべての提案を試みました。次の簡単なステップは私のためにうまくいき、私はそれを可能な解決策の増え続けるリストに加えています:
git config --get http.proxy resultは です。http://google.com:80
これは正しくないので、私はそれを取り除きました。
git config --global --unset http.proxy
プロキシを使用している場合は、コマンドプロンプトを開いて試してください。
git config --global http.proxy <proxy address>:<port>
最後のバージョンの Git for Windows をインストールしたら、編集するために設定ファイルを開く必要があります。
git config --global --edit
クリック Insertをクリックしてすべての設定を削除し、 Esc:wq
と入力して、 Enter 保存する。
これで、BashまたはIDEを使用して有効なユーザーでリポジトリのクローンを作成できます。
私が自分のパスワードを変更しなければならないとき - この問題はいつも私に起こります。私の古い資格情報には、常に更新されない別の問題が常にあるように感じます。
Windows資格情報マネージャに移動します
Tfsクレデンシャルエントリをすべて削除する
終了しました
リモートブランチを削除しようとすると、VS 2017で同じエラーがポップアップしました。問題は、ブランチがサーバー上にないこと(GITでTFS2018を使用)が、どういうわけかVisual Studioが "remote/Origin"セクションに表示されることでした。これは、リモートブランチを削除できないことを意味しました(VSはこのエラーを出力していましたが、サーバーエクスプローラーはブランチをまったく表示しませんでした)。
修正方法は次のとおりです(VS 2017でテスト済み):
私と同じ問題を抱えているこのスレッドで終わる誰かを助けることを願っています。
64ビットバージョンをアンインストールし、32ビットバージョンのGitをインストールすることで、この問題を解決しました。
ここで多くの解決策が、私にとってはここでうまくいったのです。
私は最初に私のWindowsから資格情報を変更しました。 Windowsの検索で、[資格情報マネージャ]を検索し、[Windows資格情報]に移動して、パスワードを新しいパスワードに更新します([編集]オプション)。 (コントロールパネル→ユーザーアカウント→Visual Studio Git用資格情報マネージャー)
Visual Studioを再起動してプッシュしようとしましたが、それでも「認証に失敗しました」というエラーが表示されます。
ステップ1でWindows資格情報マネージャに戻り、自分のVisual Studioに関連付けられているGITアカウントを削除し([削除]オプション)、もう一度プッシュして確認しました。
プル/フェッチ/プッシュを実行すると、出力ウィンドウに上記のエラーが表示され、以下の解決策に従って、問題が解決しました。
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"
パスワードの入力を求められますので、パスワードを入力してください。新しいVisual Studioインスタンスが開き、正常に動作し始めます...
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\
に移動しますGit
フォルダを削除します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は問題なく動作するはずです。
試してください:
[コントロールパネル] - > [ユーザーアカウント] - > [Credentail manager]で、VSのすべてのインスタンスを閉じてからTFSサーバーのアカウントを削除する