Windows 용 Git Credential Manager를 비활성화하려면 어떻게합니까? 셸에서 암호를 비활성화하고 다시 입력하는 방법은 무엇입니까? 그건

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

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

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



답변

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

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

[core]
    askpass =

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


답변

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

git-credential-manager.exe uninstall

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


답변

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

git config credential.modalprompt false --global


답변

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

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.


답변

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

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


답변

자격 증명 관리자를 일반적인 용도로 사용하고 싶었지만의 메시지가 표시되지 않는 스크립트가 있습니다 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를 사용할 있지만 프롬프트가 표시되지는 않습니다. 자격 증명을 검색하기 만하면 비대화 형 환경에서 매우 유용 할 수 있습니다.


답변

사용하다:

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

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