Git에서 자격 증명 제거


623

나는 여러 저장소와 함께 일하고 있지만 최근에는 내부에서 일하고 있었고 모두 훌륭했습니다.

오늘 나는 코드를 다른 코드로 커밋하고 푸시해야했지만 몇 가지 문제가 있습니다.

$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://gavekortet@appharbor.com/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

암호 입력을 다시 가져올 수있는 방법이 없습니다.

Git이 해당 저장소의 비밀번호를 묻도록 시스템에서 자격 증명을 재설정하는 방법은 무엇입니까?

나는 시도했다 :

  • git config --global --unset core.askpass

비밀번호를 설정 해제하기 위해

  • git config credential.helper 'cache --timeout=1'

자격 증명 캐시를 피하기 위해 ...

아무것도 작동하지 않는 것 같습니다. 더 나은 아이디어가 있습니까?


당신은 가지고 있습니까 ~/.netrc파일을?
robinst

2
@robinst 그것은 Windows 시스템이며, Git Bash에서도 파일을 찾을 수 없습니다.
balexandre

Windows 컴퓨터의 경우 @ balexandre , 암호화 된 파일 에 여러 자격 증명을 netrc저장 하는 새로운 (git 1.8.3) 자격 증명 도우미 를 사용하는 것이 좋습니다. 캐시는 특정 시간 동안 만 비밀번호를 "캐시"하므로 각 세션마다 비밀번호를 입력하는 것이 좋습니다. 전체 예를 보려면 여기를 참조 하십시오 .
VonC

.netrc가 없습니다. ~ (C : \ Users \ Myself)에 .git-credentials라는 파일이 있지만 지우지 않아도 여전히 Git Shell에 로그인되어 있습니다. 또한 제어판 자격 증명 관리자가 아무 것도 저장하지 않는 것 같습니다. 로컬 및 전역 Git 구성 파일이 정상인 것 같습니다. 나는 퇴사 한 직원으로부터 내 워크 스테이션을 물려 받았습니다. 그래서 그가 끄는 방법이 전혀없는 정통 신임 캐싱 메커니즘을 설정했을 수 있습니다. 이 동작이 Git Windows의 기본값이 아니기를 바랍니다. Mac에서는 자격 증명 캐싱이 기본값이지만 최소한 키 체인 액세스에 표시됩니다.
damix911

Linux, Windows 및 Mac OS X에서도 작동하는 자세한 답변은 stackoverflow.com/a/39944557/3906760
MrTux

답변:


654

이 문제가 Windows 시스템에서 발생하면 다음을 수행하십시오.

  • 자격 증명 관리자로 이동
  • Windows 자격 증명으로 이동
  • 일반 신임 정보에서 항목을 삭제하십시오.
  • 다시 연결하십시오. 이번에는 올바른 사용자 이름과 비밀번호를 묻는 메시지가 나타납니다.

자격 증명 관리자로 이동

Windows 자격 증명으로 이동하여 일반 자격 증명 아래의 항목을 삭제하십시오.


4
이 경우에만 관련이 있습니다 credential.helper=manager. 이 유형을 테스트하려면 git config --list. 설정하면 store자격 증명이 자격 증명 저장소에 저장되지 않지만 암호화되지 않은 상태로 저장됩니다.
Liam

3
이름이 지정된 자격 증명 만 삭제하고 git:https://github.com다음에 PyCharm을 사용하여 리포지를 복제 할 때 사용자 이름 / 패스를 입력하라는 메시지가 표시되었습니다. 하나 이상의 github 계정이 있었고 잘못된 계정이 캐시되었습니다.
dotcomly

22
누군가가 현지화 된 독일 컴퓨터에서 이것을 검색하는 경우 경로의 "Anmeldeinformationsverwaltung" 입니다 Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung.
davidenke

3
또는에서 사용자 / 패스를 변경할 수 있습니다 Credential Manager. 그것도 나를 위해 일한
다니엘 Lerps에게

자격 증명을 삭제하면 403Bitbucket을 통한 오류가 해결되었습니다 .
Eido95

673

Git 자격 증명 캐시는 자격 증명을 메모리에 캐시하고 요청시이를 전달하는 데몬 프로세스를 실행합니다. 따라서 git-credential-cache-daemon 프로세스를 종료하면이 모든 것을 버리고 암호를 cache.helper 옵션으로 계속 사용하면 암호를 묻는 메시지가 다시 표시됩니다.

을 사용하여 Git 자격 증명 캐시 사용을 비활성화 할 수도 있습니다 git config --global --unset credential.helper. 그런 다음이를 재설정하면 다른 리포지토리에 캐시 된 자격 증명을 계속 사용할 수 있습니다 (있는 경우). git config --system --unset credential.helper시스템 구성 파일 (예 : Windows 용 Git 2)에서 설정 한 경우 수행해야 할 수도 있습니다 .

Windows에서는 관리자 도우미 ( git config --global credential.helper manager)를 사용하는 것이 좋습니다 . 저장된 자격 증명을 삭제하거나 편집 할 수있는 제어판 인터페이스가있는 Windows 자격 증명 저장소에 자격 증명을 저장합니다. 이 저장소를 사용하면 Windows 로그인으로 세부 정보가 보호되며 여러 세션에 걸쳐 지속될 수 있습니다. 관리자 윈도우 2.x를위한 힘내에 포함 된 도우미는 이전 대체하고 wincred 윈도우 1.8.1.1에 대한 힘내에서 추가되었다 도우미. winstore 라는 비슷한 도우미 도 온라인으로 제공되며 GUI 기반 인터페이스를 제공하므로 GitExtensions와 함께 사용되었습니다. 관리자 도우미와 같은 GUI 인터페이스를 제공합니다 winstore을 .

Windows 자격 증명 관리자를 자세히 설명 하는 Windows 10 지원 페이지 에서 추출 하십시오 .

신임 정보 관리자를 열려면 작업 표시 줄의 검색 상자에 "신임 정보 관리자"를 입력하고 신임 정보 관리자 제어판을 선택하십시오 .

그런 다음 Windows 자격 증명 을 선택 하여 주어진 URL에 대해 저장된 자식 자격 증명 을 편집 (= 제거 또는 수정)합니다.


197
Control Panel\User Accounts\Credential ManagerWindows 7 에서 Windows 자격 증명 제어판을 찾았습니다
Steve

2
프로세스를 종료해도 어딘가에 흔적이 남아 암호에 여전히 액세스 할 수 있습니까? 자식 매뉴얼에 따르면 "일반 텍스트"에 저장됩니다.
Ufos

1
Windows 8.1에서 "Windows 자격 증명"은 Generic Credentials and git : gitlab.com 또는 선택한 git 서버 아래에있었습니다.
Jeff

5
Windows 8/10에서 자세한 사용자 계정 설정은 "설정"앱 (현대 UI)이 아니라 "클래식"제어판 아래에 있습니다 . 혼란을 피하기 위해.
DanielH

1
Windows에서 10 제어판 \ 모든 제어판 항목 \ Credential Manager로 이동합니다. GitHub에 대한 일반 자격 증명이있을 수 있습니다. 여기에서 사용자 이름과 비밀번호를 업데이트 할 수 있습니다.
Eldhose Abraham

155

재 입력 :

$ git config credential.helper store

그런 다음 자격 증명을 다시 입력하라는 메시지가 표시됩니다.

경고

이 도우미를 사용하면 암호가 디스크에 암호화되지 않은 상태로 저장됩니다

출처 : https://git-scm.com/docs/git-credential-store


35
이 명령은 내 자격 증명을 다시 입력하도록 요구하지 않습니다.이 명령은 아무 것도하지 않습니다
Shirish Herwade

3
@ShirishHerwade git pull을 시도하면 프롬프트 화면이 표시됩니다
ismailcem

2
@jkokorian이 명령을 취소하려면에서 관련 행을 삭제하십시오 .git/config.
Zenadix

110

OP와 같은 문제에 직면했습니다. 시스템의 어딘가에 저장된 이전 Git 자격 증명을 가져 왔으며 새 자격 증명으로 Git을 사용하고 싶었으므로 명령을 실행했습니다.

$ git config --system --list

그것은 보여 주었다

credential.helper=manager

내가 수행 git push할 때마다 오래 전에 설정 한 이전 사용자 이름을 사용하고 새로운 GitHub 계정을 사용하여 변경 사항을 적용하고 싶었습니다. 나중에 이전 GitHub 계정 자격 증명이 제어판사용자 계정자격 증명 관리자Windows 자격 증명 관리 에 저장되어 있음을 발견했습니다 .

Windows 자격 증명 관리

방금 이러한 자격 증명을 제거하고 수행 git push할 때 GitHub 자격 증명을 요청했으며 매력처럼 작동했습니다.


최근 망할 놈의 자격 증명 관리자 (최근의 좋은 그림 github.com/Microsoft/Git-Credential-Manager-for-Windows 자격 증명을 저장하여 작동) ( github.com/Microsoft/Git-Credential-Manager-for-Windows/ issues /… ) +1
VonC

1
@VonC 자격 증명을 저장하는이 메커니즘을 알지 못했기 때문에 이것을 찾는 데 하루가 걸렸습니다.
Mourya

실제로 최근입니다. 여기에 언급 해 주셔서 감사합니다.
VonC

이것은 아마도 "허용 된 것"보다 더 나은 대답 일 것입니다. 이것은 모든 자격 증명을 요구하는 것을 의미합니다. 분명히 나를 도왔습니다.
VictorLegros

52

아래 명령을 사용해보십시오.

git credential-manager

여기에서 자격 증명을 관리하기위한 다양한 옵션을 얻을 수 있습니다 (아래 화면 확인).

여기에 이미지 설명을 입력하십시오

또는이 명령을 직접 시도 할 수도 있습니다.

git credential-manager uninstall

그러면 각 서버 상호 작용 요청에서 비밀번호를 다시 입력하라는 메시지가 표시됩니다.


10
내가 왜 git: 'credential-manager' is not a git command. See 'git --help'.
와요

2
확실하지 않습니다. 왜 작동하지 않지만 최신 git 버전에서도 사용할 수 있습니다. 자세한 내용은이 링크를 참조하십시오 -git-scm.com/book/gr/v2/Git-Tools-Credential-Storage
Himanshu Aggarwal

3
있어 removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.(좋은의와 U_U: 난데없이 이모티콘)
jeromej

1
GitBash를 사용하는 Windows에서 저에게 효과적이었습니다.
alain.janinm

아마 여담하지만 자식을 통해 코 설치하고,이 [제거]있어서 인증 정보 기억하지 않고 컴퓨터에 배포 REPO 당기는 날 좋았다
beep_check

32

나는 나를 위해 일한 것을 발견했다. OP에 의견을 쓰면 시스템 구성 파일을 확인하지 못했습니다.

git config --system -l

보여줍니다

credential.helper=!github --credentials

선. 나는 그것을 설정 해제

git config --system --unset credential.helper

이제 자격 증명을 잊어 버렸습니다.


2
Ankur, 몇 가지 자격 증명 도우미를 구성한 경우 2-3 번에서 비슷한 방식으로 제안 된 명령을 실행해야 할 수도 있습니다. git config --global --unset credential.helper어쩌면 단지 git config --unset credential.helper저장소에 어떻게 든 명시 적으로 거기를 설정 한 경우.
dragon788

솔루션 주셔서 감사합니다. 세부 사항 : 내 경우에는 관리자로 명령 프롬프트를 시작해야했습니다.
A.Joly

30

필자의 경우 Git은 Windows를 사용하여 자격 증명을 저장합니다.

Windows 계정에 저장된 저장된 자격 증명을 제거하기 만하면됩니다.

Windows 자격 증명 메뉴


1
이 답변 과 어떻게 다릅니 까? 아니면 이것 ?
Liam

20
git config --list

표시됩니다 credential.helper = manager(Windows 컴퓨터에 있음).

현재 로컬 git 폴더에 대해 캐시 된 사용자 이름 / 암호를 비활성화하려면 간단히 입력하십시오.

git config credential.helper ""

이런 식으로 git은 "manager"에 저장된 내용을 무시하고 매번 비밀번호를 묻습니다.


아래에 오류가 git: 'credential-' is not a git command. See 'git --help'.있지만 보안을 위해 새 비밀번호를 묻는 메시지가 표시되는 유일한 답변이므로이 답변을지지합니다. 그러나 이것이 문제를
숨기는

아뇨 rm -rf ~/.git-credentials. 참고가 다를 수 있다는 것을 ( git help credential-store)
ribamar

죄송합니다. 실제로 작동하지 않습니다. 비밀번호를 다시 한 번 묻고 다시 저장합니다. 허용하면 내 공감을 제거합니다.
ribamar

git config --unset credential.helper항목을 지 웁니다. 이 답변은 빈 문자열로 설정하고 @ribamar가 주석에서 설명한 오류를 생성합니다.
다크 캐슬

15

"wincred"*를 사용하는 Windows 2003 Server에서는 다른 답변이 도움이되지 않았습니다. 나는을 사용해야했다 cmdkey.

  • cmdkey /list 저장된 모든 자격 증명을 나열합니다.
  • cmdkey /delete:Target "대상"이름의 자격 증명을 삭제합니다.

cmdkey / list;  cmdkey / delete : 대상

(* "wincred"라는 뜻 git config --global credential.helper wincred)


cmdkey. 선택한 답변에 설명 된 Windows 자격 증명에 해당하는 명령 줄입니다.
nicobo

15

이 오류는 동일한 컴퓨터에서 여러 개의 Git 계정을 사용할 때 나타납니다.

macOS를 사용하는 경우 저장된 github.com의 자격 증명을 제거 할 수 있습니다 .

github.com 자격 증명 을 제거하려면 아래 단계를 따르십시오 .

  1. 열린 키 체인 접근
  2. github 찾기
  3. github.com을 선택 하고 마우스 오른쪽 버튼으로 클릭하십시오
  4. "github.com" 삭제
  5. git to Push 또는 Pull을 다시 시도하면 자격 증명을 요구합니다.
  6. 리포지토리 계정에 유효한 자격 증명을 입력하십시오.
  7. 끝난

    여기에 이미지 설명을 입력하십시오


감사합니다, 이것은 Mac OS에서 완벽하게 작동합니다
babygame0ver

13

각각의 github usernamepassword

창에서 사용자 이름과 비밀번호를 지우려면

제어판 \ 사용자 계정 \ 인증서 관리자

Windows 자격 증명 편집

기존 사용자를 제거하고 이제 명령 프롬프트로 이동하여 푸시 명령을 작성하면 username/ email및 을 입력하는 github 팝업이 표시됩니다 password.

이제 사용자를 전환 한 후 코드를 푸시 할 수 있습니다.


13

'git pull'을 수행 할 때 동일한 오류가 발생했으며 이것이 내가 수정 한 방법입니다.

  1. 리포지토리를 HTTPS로 변경
  2. 명령을 실행 git config --system --unset credential.helper
  3. 명령을 실행 git config --system --add credential.helper manager
  4. 테스트 명령 git pull
  5. 로그인 창에 자격 증명을 입력하십시오.
  6. 힘내 당겨 완료되었습니다.

--체계? -전세계는 어떻습니까? 범위가없는 것은 어떻습니까? 설정 범위는 무엇을 의미합니까?
masterxilo

1 단계로 문제가 해결되었습니다.
zzxwill

11

Windows의 현재 로그인 한 사용자 폴더에있는 .gitconfig 파일에서이 행을 제거하십시오.

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

이것은 저에게 효과적이며 이제 원격으로 푸시하면 암호를 다시 묻습니다.


11

자격 증명 관리자에서 업데이트해야합니다.

제어판> 사용자 계정> 자격 증명 관리자> Windows 자격 증명으로 이동합니다. Git 자격 증명이 목록에 표시됩니다 (예 : git : https : //). 그것을 클릭하고 암호를 업데이트 한 후 Git bash에서 git pull / push 명령을 실행하면 더 이상 오류 메시지가 표시되지 않습니다.



10

Windows 10 Professional에서 Windows 용 최신 버전의 git을 사용하면 비슷한 문제가 발생하여 두 개의 다른 GitHub 계정과 Bitbucket 계정이 있으므로 VS2017, git 확장 및 git bash에 약간 혼란 스럽습니다.

먼저 git 이이 명령으로 자격 증명을 처리하는 방법을 확인했습니다 (높은 명령으로 git bash를 실행하면 오류가 발생합니다).

git config --list

자격 증명 관리자 항목을 찾았으므로 시작 버튼> 유형 자격 증명 관리자를 클릭하고 자격 증명 관리자 노란색 안전 아이콘을 마우스 왼쪽 버튼으로 클릭하여 앱을 시작했습니다. 그런 다음 Windows 자격 증명 탭을 클릭하고 Bit-bucket이었던 현재 자식 계정 항목을 찾았 으므로이 계정을 삭제했습니다.

그러나 이것은 트릭을 수행하지 않았으므로 다음 단계는 자격 증명을 설정 해제하는 것이며 원격으로 푸시하려고하는 GitHub 프로젝트가 포함 된 랩톱의 저장소 디렉토리 에서이 작업을 수행했습니다. 다음 명령을 입력했습니다.

git config --system --unset credential.helper

그런 다음 git push를하고 GitHub 사용자 이름을 입력하라는 메시지가 표시되고 (필요한 올바른 이름) 관련 암호와 모든 것이 올바르게 푸시되었습니다.

이것이 앞으로 얼마나 많은 문제가 될지 잘 모르겠지만 대부분의 사람들이 하나의 저장소에서 일할 수도 있지만 여러 곳에서 작업하고 다른 공급자를 사용해야 하므로이 문제가 다시 발생할 수 있습니다.


나를 위해 일했습니다. 감사합니다
Krishnamoorthy Acharya

8

필자의 경우 Windows 자격 증명 관리자 (Windows 7)에 저장된 자격 증명을 찾을 수 없습니다.

실행하여 자격 증명을 재설정 할 수있었습니다

git config --global credential.helper wincred

그것이 내 자격 증명을 지우고 실제로 작동했는지 확인하는 것은 정직한 우박 메리였습니다.


이것은 나를 위해 일했다. 자격 증명 관리자에 삭제할 항목이 없습니다.
bdwakefield

7

git의 자격 증명을 제거하기 위해 credential.helper=!github --credentials다음 파일 C:\Program Files\Git\mingw64\etc\gitconfig에서 줄 을 제거 할 수 있습니다


7
  1. 이동 C:\Users\<current-user>
  2. 확인 .git-credentials파일
  3. 내용을 삭제하거나 요구 사항에 따라 수정
  4. 터미널을 다시 시작하십시오

나를 위해 일한 유일한 솔루션
Wachburn

7

Windows에서는 최소한 다음과 같이 git remote show [remote-name]작동합니다.

git remote show origin

왜 downvote인지 확실하지 않습니다. 작동합니다. 나는 다른 모든 것에 붙어 있습니다.
Jason S

... 오늘 다시 성공적으로 사용했습니다. 직장에서 비밀번호를 변경할 때마다이 작업을 수행해야합니다.
Jason S

2
나를 위해 매력을 일했다.
IronAces 2016 년

여기도 마찬가지입니다. 저장소 디렉토리에있을 필요도 없습니다
Nicola Musatti 2016 년

6

git이 오래된 저장된 자격 증명을 잊어 버리고 사용자 이름과 암호를 다시 입력하려면 아래 명령을 사용하십시오.

git credential-cache exit

위의 명령을 실행 한 후 아무것도 푸시하려고하면 사용자 이름과 비밀번호를 입력하는 옵션이 제공됩니다.


3

마지막 으로이 문제를 해결 한 것은 GitHub 데스크탑을 사용하고 저장소 설정으로 이동하여 저장소 URL에서 user : pass @를 제거하는 것이 었습니다. 그런 다음 명령 줄에서 푸시를 시도하고 로그인 자격 증명을 묻는 메시지가 표시되었습니다. 내가 그것들을 넣은 후 모든 것이 정상으로 돌아 왔습니다. Visual Studio와 명령 줄이 모두 작동하며 물론 GitHub 데스크톱도 작동합니다.

GitHub 데스크탑-> 저장소-> 저장소 설정-> 원격 탭

기본 원격 저장소 (원본)를 다음에서 변경하십시오.

https : //pork@muffins@github.com/MyProject/MyProject.git

에:

https://github.com/MyProject/MyProject.git

"저장"을 클릭하십시오

자격 증명이 지워집니다.


Windows의 명령 줄에서 원점을 동일한 것으로 재설정하면 내 문제가 해결되었습니다. GitLab을 사용하고 있으므로 GitHub Desktop을 사용할 수 없습니다.
David Vargas

3

macOS 사용자의 경우 :

이 오류는 동일한 컴퓨터에서 여러 개의 Git 계정을 사용할 때 나타납니다.

github.com 자격 증명을 제거하려면 아래 단계를 따르십시오.

  1. 파인더로 이동
  2. 응용 프로그램으로 이동
  3. 유틸리티 폴더로 이동
  4. 열린 키 체인 접근
  5. github.com을 선택하고 마우스 오른쪽 버튼으로 클릭하십시오

    "github.com"삭제

git to Push 또는 Pull을 다시 시도하면 자격 증명을 요구합니다. 리포지토리 계정에 유효한 자격 증명을 입력하십시오. 끝난


3

Windows 10의 경우 아래 경로로 이동하십시오.

제어판 \ 사용자 계정 \ 인증서 관리자

이 위치에는 2 개의 탭이 있으며

  1. 웹 자격 증명 및 2. Windows 자격 증명.

Windows 자격 증명 탭을 클릭하면 "일반 자격 증명"제목 아래에 저장된 github 자격 증명이 표시됩니다.

여기에서 이들을 제거하고 다시 복제하려고 시도 할 수 있습니다. Windows 10 시스템에서 저장된 자격 증명을 방금 제거 했으므로 이제 사용자 이름 / 암호를 요청합니다.


2

Windows 용 Git Credentials Manager 캐시를 지우려면 :

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

또는

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache

2

위에서 언급 한 것이 효과가 없을 때 이것을 시도하십시오.

git config credential.helper 'cache --timeout=30'

이렇게하면 3 초마다 캐시가 제거되고 사용자 이름과 비밀번호가 요청됩니다. 시간 초과 값을 늘려 명령을 다시 실행할 수 있습니다.


1

우리의 경우 사용자의 .git-credentials 파일에서 암호를 지우면 도움이되었습니다.

c:\users\[username]\.git-credentials

예, 다른 여러 사람들이 이미 이것을 여러 번 언급했습니다
Liam

1

@patthoyts의 높은 답변을 바탕으로 작성 ( https://stackoverflow.com/a/15382950/4401322 ) :

그의 대답은 "local"대 "global"대 "system"구성을 사용하지만 설명하지는 않습니다. 그것들에 대한 공식 자식 문서는 여기에 있습니다. 있고 읽을만한 가치 .

예를 들어, 나는 Linux에 있고 시스템 구성을 사용하지 않으므로 --system플래그를 사용 하지 않지만 일반적으로 --local--global 구성 .

내 유스 케이스는 두 개의 Github 자격 증명이 있습니다. 하나는 업무용이고 다른 하나는 놀이 용입니다.

문제를 해결하는 방법은 다음과 같습니다.

$ cd work
# do and commit work
$ git push origin develop
# Possibly prompted for credentials if I haven't configured my remotes to automate that. 
# We're assuming that now I've stored my "work" credentials with git's credential helper.

$ cd ~/play 
# do and commit play
$ git push origin develop                                                                   
remote: Permission to whilei/specs.git denied to whilei.                
fatal: unable to access 'https://github.com/workname/specs.git/': The requested URL returned error: 403

# So here's where it goes down:
$ git config --list | grep cred
credential.helper=store # One of these is for _local_
credential.helper=store # And one is for _global_

$ git config --global --unset credential.helper
$ git config --list | grep cred
credential.helper=store # My _local_ config still specifies 'store'
$ git config --unset credential.helper
$ git push origin develop
Username for 'https://github.com': whilei
Password for 'https://whilei@github.com':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.10 KiB | 1.10 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/whilei/specs.git
   b2ca528..f64f065  master -> master

# Now let's turn credential-helping back on:
$ git config --global credential.helper "store"
$ git config credential.helper "store"
$ git config --list | grep cred
credential.helper=store # Put it back the way it was.
credential.helper=store

또한이 문제를 완전히 피할 수있는 방법이 있다는 점도 주목할 가치가 있습니다. 예를 들어, ~/.ssh/configGithub (작업용, 재생 용) 및 관련 사용자 지정 이름이 지정된 원격 호스트에 대한 관련 SSH 키를 사용하여 인증 컨텍스트 지정을 해결할 수도 있습니다.


1

@ericbn의 https://stackoverflow.com/a/41111629/579827에 추가하려면 다음 은 갱신 할 때마다 모든 비밀번호를 업데이트하기 위해 실행하는 스크립트에 포함 된 샘플 명령입니다. 그것은 매우 구체적이기 때문에 그대로 사용할 수는 없지만의 실제 사용량을 보여줍니다 cmdkey.exe.

cygwin 에서 실행 되는 스크립트입니다. ⚠

⚠ 이것은 모두 동일한 암호로 인증하는 개인 git repos를 사용하기 때문에 작동합니다 (아마도 동일한 자격 증명으로 반복하고 싶지는 않지만이 샘플 /list명령을 재사용 하여 이미 등록 된 자격 증명 목록을 추출 할 수 있습니다 ) ⚠

entries=`cmdkey.exe /list: | grep git | sed -r -e 's/^[^:]+:\s*(.*)$/\1/gm'`
for entry in ${entries}
do
    cmdkey.exe "/delete:${entry}"
    cmdkey.exe "/generic:${entry}" "/user:${GIT_USERNAME}" "/pass:${GIT_PASSWORD}"
done

0

키 페어를 사용하여 인증 된 경우 개인 키를 삭제 또는 이동하거나 키 에이전트를 중지하고 시도 할 수 있습니다.


2
그는 https를 사용하고 있기 때문에 여기에 관련된 키가 없습니다
CharlesB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.