Windows 용 Git Credential Manager를 비활성화하려면 어떻게합니까?


170

최신 버전의 Git에서는 매번 Bash 프롬프트에서 암호를 묻는 메시지 대신 "Git Credential Manager for Windows"대화 상자가 기본으로 표시됩니다.

나는이 행동을 정말로 싫어한다. 매번 Bash 셸에서 암호를 비활성화하고 다시 입력하는 방법은 무엇입니까?

그건 그렇고, Git이 Windows 자격 증명이나 내부 데몬을 통해 자격 증명 캐싱하고 싶지 않습니다 . 모든 자격 증명 캐싱 을 비활성화하고 싶습니다 .

답변:


211

OK, 난 당신이 중 하나를 할 필요가 있다는 것을 발견 피하고 Windows 설치에 대한 힘내 동안 "망할 놈의 자격 증명 관리자"확인란을 선택하거나으로 배쉬 쉘을 실행 (설치 후) 관리자 및 사용을 git config --edit --system제거하지 않으려면 helper = manager이 더 이상로 등록되도록 선을 자격 증명 도우미.

보너스 포인트의 경우 다음을 사용 git config --edit --global하고 삽입하십시오.

[core]
    askpass =

OpenSSH 자격 증명 팝업을 비활성화하려면


19
답변 주셔서 감사합니다. 저에게는 에디터를 사용한 것이 이번이 처음이었습니다. 변경 사항을 저장하려면 이스케이프 키를 누르고 : wq를 입력하고 Enter 키를 누릅니다 (쓰기 / 저장 및 종료).
벤 Besuijen

1
많은 감사합니다! 자격 증명 관리자가 내 작업의 프록시 서버와 혼동되어 Sourcetree 작업이 악몽이되었습니다. 비활성화하면 문제가 즉시 해결되었습니다.
Johnny

1
그리고 만약 : wq를 수행하고 종료하지만이 아마 나중에 함께 작업에 여러 개의 백업 파일을 만들 것입니다 중단에 대한 내 경우 사용 Ctrl + Z를 좋아하지 일
아데 엠

37
또는 그것을 밖으로 노크git config --system --unset credential.helper
벤 Butzer

4
SourceTree를 사용하는 사용자는 임베디드 시스템이 아닌 "시스템"버전의 GIT를 사용하고 있는지 확인하십시오. Tools -> Options -> Git.
Stevanicus

30

제거 옵션을 사용하여 Windows 용 Git Credential Manager를 제거 할 수있었습니다.

git-credential-manager.exe uninstall

이 명령을 C:\Program Files\Git\mingw64\libexec\git-core


1
이것은 git credential [fill|approve|reject]
멈추고

2
@ScottN 실행 git-credential.exe중이지만 실행 해야합니다 git-credential-manager.exe.
Aidan Ryan

13

VSTS와 함께 사용해야하는 또 다른 옵션 :

git config credential.modalprompt false --global


3
감사! ssh를 사용하여 프로덕션 서버에 원격으로 연결할 때 매우 유용하다는 것을 알았습니다 git pull.WCM 셸 아웃으로 인해 할 수 없었 습니다. 이 옵션을 사용하면 서버 (또는 원격 데스크톱)에 물리적으로 연결되어 있고 ssh 클라이언트에서 가져올 수있는 WCM이라는 두 가지 세계를 즐길 수 있습니다.
cbuchart

9

그것은 나를 위해 작동하지 않았다 :

C:\Program Files\Git\mingw64\libexec\git-core
git-credential-manager.exe uninstall

Looking for Git installation(s)...
  C:\Program Files\Git

Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]

Removing from 'C:\Program Files\Git'.
  removal failed. U_U

Press any key to continue...

그러나 --force플래그로 작동했습니다.

C:\Program Files\Git\mingw64\libexec\git-core
git credential-manager uninstall --force
08:21:42.537616 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
e
08:21:42.538616 git.c:576               trace: exec: git-credential-manager uninstall --force
08:21:42.538616 run-command.c:640       trace: run_command: git-credential-manager uninstall --force

Looking for Git installation(s)...
  C:\Program Files\Git

Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]


Success! Git Credential Manager for Windows was removed! ^_^

Press any key to continue...

나는 달리기를 한 후에 그 흔적을 볼 수 있었다.

set git_trace=1

또한 Git 사용자 이름을 추가했습니다.

git config --global credential.username myGitUsername

그때:

C:\Program Files\Git\mingw64\libexec\git-core
git config --global credential.helper manager

결국 나는이 명령을 넣었다.

git config --global credential.modalPrompt false

SSH 에이전트가 실행 중인지 확인합니다. Bash 창을 열어이 명령을 실행하십시오.

eval "$(ssh-agent -s)"

그런 다음 .ssh가있는 컴퓨터 사용자 / yourName 폴더에 연결을 추가하십시오 (여전히 Bash).

ssh-add .ssh/id_rsa

or

ssh-add ~/.ssh/id_rsa(if you are not in that folder)

위에서 추가 한 모든 설정을 확인했습니다.

C:\Program Files\Git\mingw64\libexec\git-core
git config --list
09:41:28.915183 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-cor
e
09:41:28.917182 git.c:344               trace: built-in: git config --list
09:41:28.918181 run-command.c:640       trace: run_command: unset GIT_PAGER_IN_USE; LESS=FRX LV=-c less
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
credential.modalprompt=false
credential.username=myGitUsername

그리고 git push다시 할 때 처음으로 만 사용자 이름과 비밀번호를 추가해야했습니다.

git push
Please enter your GitHub credentials for https://myGithubUsername@github.com/
username: myGithubUsername
password: *************
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 316 bytes | 316.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.

을 (를) 사용한 이후 git push더 이상 Git 자격 증명을 입력하라는 메시지가 없습니다.

D:\projects\react-redux\myProject (master -> origin) (budget@1.0.0)
λ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/myGitUsername/myProject.git
   8d38b18..f442d74  master -> master

이 설정 후 메시지와 함께 이메일도 받았습니다.

 A personal access token (git: https://myGitHubUsername@github.com/
on LAP0110 at 25-Jun-2018 09:22) with gist and repo scopes was recently added
to your account. Visit https://github.com/settings/tokens for more information.

6

나는 그 문제가 있었고 git-credential-manager.exe 파일 만 제거했습니다 .

C:\Program Files\Git\mingw64\libexec\git-core

6

자격 증명 관리자를 일반적인 용도로 사용하고 싶었지만의 메시지가 표시되지 않는 스크립트가 있습니다 git.exe. 다음은 스크립트에서 Git을 호출하는 방법입니다.

set GIT_TERMINAL_PROMPT=0
git -c core.askpass= -c credential.helper= <command> ...

이런 식으로 스크립트는 구성을 조정할 필요없이 항상 "올바른"프롬프트 없음 설정을 확인합니다.

(Git for Windows 2.13.3)


내가 유용 할 수있는 변형은 다음과 같이 설정하는 것입니다.

set GCM_INTERACTIVE=never
# Or: git config --global credential.interactive never

set GIT_TERMINAL_PROMPT=0
git.exe -c core.askpass= -c credential.helper=manager <command> ...

그러나 작동 git.exe -c credential.interactive=never <command> ... 하지 않습니다 ( -c물건이 Git Credential Manager for Windows 등으로 라우팅되지 않은 것 같습니다 ).

그렇게 하면 GCMfW를 사용할 있지만 프롬프트가 표시되지는 않습니다. 자격 증명을 검색하기 만하면 비대화 형 환경에서 매우 유용 할 수 있습니다.


5

사용하다:

C:\Program Files\Git\mingw64\libexec\git-core                                                                       
git credential-manager uninstall --force    

이것은 Windows 시스템에서 작동합니다. 나는 그것을 테스트했고 그것은 나를 위해 일했다.


3

아마 문제는 Sourcetree 입니다.

  1. 도구옵션으로 이동

  2. "[10] 분마다 기본 원격 업데이트 확인"을 선택 취소하십시오.

  3. Sourcetree를 다시 시작하십시오!


1

: wq가 제 경우처럼 작동하지 않으면 중단하고 종료하기 위해 ctrl + z를 사용하지만 나중에 작동하도록 여러 백업 파일을 만들 수 있습니다. Jan 19을 9:14에 수락하십시오.

또한 관리자 권한으로 Git을 실행하십시오! 그렇지 않으면 파일이 저장되지 않습니다 (필자의 경우).


1

우분투 18.10 (Cosmic Cuttlefish) 에 동일한 문제가 발생 하여 정상적인 방법으로는 제거 할 수 없었습니다. 나는을 사용 git config --global --unset credential.helper했고 그 트릭을하는 것처럼 보였다.


1

"user"폴더 c : // user에서 ".gitconfig"파일을보고 http 및 프록시 행을 제거하십시오.


1

대화 상자 사용을 방지하려면 git config --global credential.modalPrompt false쿼리를 콘솔로 유도합니다.


0

자격 증명 관리자 만 삭제하면됩니다.

C:\Users\<USER>\AppData\Local\Programs\Git\mingw64\libexec\git-core
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.