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
따라서 페치 및 풀 명령도 마찬가지입니다.
Visual Studio 2017 설치 프로그램에 Windows 용 Git을 설치했으며 VSTS와 함께 작동하지 않을뿐만 아니라 GitHub 리포지토리와도 작동하지 않습니다. 다른 사람이 이것을 알아 차렸습니까? 지금까지 두 대의 컴퓨터에서 발생했습니다.
Visual Studio 2015 Enterprise Edition (EE) 및 CE가 완벽하게 작동합니다.
이 문제는 Visual Studio가 Git을 처리하는 방법에 문제가 있다고 생각하게 만드는 것으로 생각되어 훨씬 더 많은 인식을 얻은 것으로 보입니다. 또한 Visual Studio를 업데이트 할 때마다이 문제가 다시 발생하며 Git이 다시 작동하도록하려면 아래 답변 중 일부 단계를 수행해야합니다. 왜 이런 일이 발생하는지 잘 모르겠으며 Microsoft가이 문제를 해결할 계획인지 모르겠습니다.
이전 답변에서 아직 언급하지 않은 솔루션을 여기에 추가하려고하지만이 문제가 해결되었습니다.
폴더로 이동하여
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\
삭제하십시오Git
.시스템에 Git 버전이 설치되어 있지 않은지 확인하려면 제어판 → 프로그램 및 기능 으로 이동하여 제거하십시오 (TortoiseGit은 내 경험에서 제거 할 필요가 없으며 기본 git 설치).
Visual Studio 2017 설치 관리자를 열고 설치 옵션에서 "Git For Windows"를 선택 해제하십시오.
받는 사람 향할 망할 놈의 웹 사이트 및 Windows 용 망할 놈의 최신 버전을 설치합니다.
Visual Studio 설치 프로그램으로 돌아가서 "Git for Windows"를 다시 체크하십시오. 새 것처럼 보이지만 새 버전을 다운로드하지는 않습니다. 그 후에는 VSTS와 TF Explorer로 Git에 문제가 없어야합니다.
제어판 → 사용자 계정 → Git의 자격 증명 관리자 에서 일반 자격 증명을 변경하면 나에게 도움이되었습니다.
나는 다른 문제가 있었다. 내 문제를 해결하기 위해, 그래서 내 컴퓨터는 내가 복사했다 system32를하고 syswow64로의 이전은 OpenSSL DLL 파일을 포함 libeay32.dll
하고 ssleay32.dll
하나 개의 폴더에서 비주얼 스튜디오 2017의 망할 놈의 폴더 내의 다른 폴더로 이동합니다.
FROM : 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은 필요하지 않을 수 있습니다. 나는 시도하지 않았다.
이제 내 Gogs에서 정상적으로 작동합니다.
이것은 내가 얻은 오류입니다.
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 = 원산지 없음
Commit all로컬 커밋을 만들기 위해 버튼을 누른 후 Visual Studio는 하나의 파일을 커밋하지 않은 상태로 두 었으며이 정교한 오류 메시지는 실제로 "모든 변경 사항 커밋"을 의미했습니다.
누락 된 파일은 Entity Framework 6 모델이며 변경 사항이 없어도 커밋되지 않은 파일로 표시되는 경우가 많습니다.
커밋되지 않은 모든 변경 내용을 커밋하거나 취소 할 수 있습니다.
이것은 풀과 충돌 할 보류중인 커밋이있을 때 VS 2017에서 발생하는 것으로 보입니다. 명령 터미널로 이동하여 "git pull origin"을 수행하면 일반적으로 혼란의 원인이되는 오류가 발생합니다. 해결하려면 VS 2017에서 모든 변경 사항을 확인한 다음 VS 2017에서 다시 끌어 오기 또는 동기화를 다시 시도하십시오. 말할 것도없이 ... VS 2017에서는 바람직하지 않은 동작입니다.
In Control Panel\All Control Panel Items\Credential Manager
==> Windows Credentials
Git : http : // .......를 제거하십시오.
다시 시도하십시오 ..
즐겨 !
나는 같은 문제가 있었다. 다음 단계로 문제가 해결되었습니다.
- "C : \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Git"백업 및 삭제
- 최신 버전의 Git 설치 : https://git-scm.com/download/win
GitKraken과 Visual Studio 2017을 사용하고 있습니다.
GitKraken이 리포지토리를 복제하면 " https://github.com/user/Repo.git " 대신 "git@github.com : user / Repo.git"과 같은 페치 주소가 남습니다 .
이 문제를 해결하려면 팀 탐색기 → 설정 → 리포지토리 설정 → 원격 → 편집 으로 이동하여 "git @"을 "https : //"로 변경 하고 ":"를 "/"로 변경하십시오.
와! 이 문제에 대한 해결책이 너무 많습니다!
이 쉬운 것을 시도하십시오!
비밀번호를 변경하십시오!
얼마 전만해도 14 일 후에 비밀번호가 만료된다는 알림을 받기 시작했습니다. 이제 2 일 후에이 오류가 발생합니다.
나는 git 또는 OpenSSL 라이브러리를 해킹하는 느낌이 들지 않기 때문에 컴퓨터 에서 Windows 암호 를 변경 했는데 효과가있었습니다!
최신 정보
Then it started happening again. From Team Explorer go to Sync. Then do Actions > Open Command Prompt. In the command prompt type git push origin
. That might work for you.
I had the same issue. Restarting Visual studio worked for me... You may try it before reinstalling stuff.
I had this problem after changing the git access password!
I had to reset the credentials through the PowerShell console.
At the git repository folder level, the script was as follows:
git config --system --unset credential.helper
git config --system credential.helper store
git fetch
You will be prompted for the user and then the password.
The next command will no longer request authentication:
git fetch
I ran into this issue as well. I had sync'd my code earlier in the day so it made no sense that it suddenly gave this Git error. Restarting Visual Studio did not make any difference. After reviewing the above answers and not finding any clear solution, I decided to try syncing outside of Visual Studio using TortoiseGit which I already had installed. This worked. I was then able to sync within Visual Studio normally. If you don't already have TortoiseGit, you may download it (free) from tortoisegit.org.
In my case, Windows had ran an update and was waiting to restart the PC. I hadn't seen any notifications but, well... turning it off and turning it on again fixed the problem.
Try that first before monkeying with any of these Visual Studio directories and applications.
I got the following error messages using Visual Studio 2017 CE.
Failed to push to the remote repository. See the Output window for more details.
The output window showed the following:
Error encountered while pushing to the remote repository: Git process failed unexpectedly. PushCommand.ExecutePushCommand
I tried to push changes using GitHub Desktop. It shows the following error message.
Cannot push these commits as they contain an email address marked as private on GitHub.
That's It. Solution:
open GitHub account >> Settings >> Emails >> Uncheck "Keep my email address private"
It's done. That was the problem in my case.
I got it working by removing username@ from http://username@asdf/xxx/yy/zzz.git in the repository settings:
Team Explorer → Settings → Repository Settings → Remotes → Edit
I was able to fix the issue using this line in the command line without reinstalling anything.
git config --global credential.{myserver}.authority NTLM
Simply replace {myserver} with the hostname of your server (without http or port number).
After that, VS was able to connect correctly.
I had the same error pop up in VS 2017 when trying to delete a remote branch. The issue was that the branch was not on the server (using TFS2018 with GIT), but somehow Visual Studio did have it show up in the "remote/origin" section. This meant that I could not delete the remote branch (VS was giving out this error, while the server explorer didn't show up the branch at all).
Here's how to fix it (tested in VS 2017):
- In Visual Studio, double click on your "rogue" remote branch;
- VS should have now created a local branch from it;
- Right click on the local branch, select "Unset remote branch";
- Right click on the local branch, select "Push branch";
- You should now have a true corresponding remote branch;
- Delete the remote branch, then the local branch.
Hopefully it will help someone who ends up on this thread having the same issue as me.
I also had this issue after I got wget
from the GNU tools, and copied it right into c:\windows. The libeay.dll
and libssl.dll
files were also in the archive. When those were in c:\windows, I had this issue. Removing them immediately fixed it. So, check if you have these .DLLs somewhere in your path, VS may be picking up some other software's version of these instead of using the ones it expects.
AngelBlueSky's answer worked partially for me. I had to execute these additional lines to clean the Git global configuration after step 4:
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
Then git config -l
(executed from any git repo) should return only this:
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
user.email=xxxxx@xxxxxx.xx
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://xxxxxx@bitbucket.org/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
Run the git status
and git fetch
commands to validate that it works from the command line.
Then go to Visual Studio, where your repositories should be back, and all sync/push/pull should work without issues.
After installing the last version of Git for Windows you must to open the configuration file to edit:
git config --global --edit
Click Insert, remove all the settings, click Esc, type :wq
and, Enter to save.
Now you can clone the repository by Bash or IDE with a valid user.
In my case I didn't have to do anything so drastic as uninstalling Git as per some of the answers here; I just had to use the command line instead of Visual Studio.
Open up cmd
at your solution's root and enter:
git pull
You will then be told exactly what the issue is. In my case it told me that I had uncommitted changes that would have been overwritten and that I needed to commit them before I could continue.
Once I had done this the pull succeeded, and I could resolve the conflict in the merge tool.
TLDR
Use the command line instead of Visual Studio to get a more complete error message.
I was getting similar issues. In Visual Studio 2017, with Rebase option I solved my issue.
I am having only a master branch. I rebase from master to origin/master (means to the same branch) and clicked Rebase. Before doing Rebase, the status was, I was committed my changes however not able to push/sync as my local branch base and Git code base was not synchronised state.
Compounded the problem by deleting the local repo so I could clone a fresh copy. I was faced with new error "git cannot be found Git failed with a fatal error.fatal: repository 'xyz' not found"
I tried everything suggestions i google about with no resolution. The following simple step worked for me and I am adding it to the growing list of possible resolutions:
git config --get http.proxy result is http://google.com:80
this is not right so i got rid of it.
git config --global --unset http.proxy
Try:
Closing all instances of VS and then deleting the account for the TFS server in Control Panel -> User Accounts-> Credentail manager
In my case a failing Jest unit test preventing the push to the repo gives the same generic error of "Error encountered while pushing to the remote repository: Git failed with a fatal error."
- Navigate to
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\
- Delete the
Git
folder - Visual Studio
This problem allways occures to me - when i have to change my password. It feels like there is allways another problem with my old credentials dont get updated.
Go to your Windows Credential Manager
Remove all Tfs Credential Entries
Finished
Many solutions here, for me here's what worked.
I first changed the credentials from my Windows. In your Windows search, search "Credentials Manager", then go to "Windows Credentials", and updated (Edit option) my password to my new password. (Control Panel → User Accounts → Credential Manager for Visual Studio Git)
Visual Studio를 다시 시작하고 푸시하려고했지만 여전히 "인증 실패 오류"가 나타납니다.
1 단계에서 Windows 자격 증명 관리자로 돌아가서 Visual Studio에 연결된 GIT 계정을 삭제 (옵션 제거)하고 다시 밀어 넣었습니다.
참고 URL : https://stackoverflow.com/questions/42667928/visual-studio-2017-git-failed-with-a-fatal-error
'IT story' 카테고리의 다른 글
빌드 번호를 늘리는 더 좋은 방법은 무엇입니까? (0) | 2020.06.29 |
---|---|
node.js 모듈에서 내부 (비 수출) 기능에 액세스하고 테스트하는 방법은 무엇입니까? (0) | 2020.06.29 |
Xcode 8.3.3“iTunes Connect 액세스 권한이있는 계정이 없습니다” (0) | 2020.06.29 |
자바 스크립트 파일을 동적으로로드하는 JQuery (0) | 2020.06.29 |
코 틀린에서 데이터 클래스 확장 (0) | 2020.06.29 |