Git 자격 증명 도우미-비밀번호 업데이트


198

현재 HTTPS를 통해 GitHub를 사용하고 있으며 Windows 7에서 Git 자격 증명 도우미와 함께 최신 버전의 Git (1.9.0)을 설치했습니다.

내 환경을 설정할 때 git-credentials가 내 사용자 이름과 비밀번호를 영구적으로 기억하도록 지시했습니다.

최근 웹 사이트를 통해 GitHub 비밀번호를 업데이트했으며 더 이상 푸시 / 풀 / 페치 등을 수행 할 수 없습니다.

Windows 7의 git-credentials helper에서 비밀번호를 업데이트하는 방법은 무엇입니까?


6
간단하게 "git config --global credential.helper wincred"를 사용하고 userID와 password를 입력하십시오. 다음에 암호를 변경할 때 위의 명령을 다시 실행하십시오.
Akshay Lokur

@ AkshayLokur 이것은 정답입니다.
Ravimallya

다른 모든 방법이 실패하고 TortoiseGit을 사용하는 경우이를 통해 작업을 시도 할 수 있습니다. 예를 들어 Tortoise를 사용하여 가져 오거나 가져 오면 암호를 묻는 메시지가 표시되고 암호를 입력하라는 메시지가 표시됩니다. 그런 다음 Git Bash 캐시를 덮어 쓰고 bash를 한 번 더 사용할 수 있습니다.
Paul F. Wood

답변:


280

이 답변 중 어느 것도 내 Git 자격 증명 문제에 효과가 없었습니다. 누군가가 필요로하는 경우 다음과 같이 작동했습니다 (Windows 8.1에서 Git 1.9를 사용하고 있습니다).

신임 정보를 업데이트하려면 제어판신임 정보 관리자일반 신임 정보로 이동하십시오 . Git 계정과 관련된 자격 증명을 찾아 업데이트 된 암호를 사용하도록 편집하십시오.

참조 : Windows에서 Git 자격 증명을 업데이트하는 방법

Git 용 Windows 자격 증명 관리자를 사용하려면 자격 증명 도우미를 다음과 같이 구성해야합니다.

git config --global credential.helper wincred

서로 다른 리포지토리에 사용하는 여러 개의 GitHub 계정이있는 경우 도메인이 아닌 전체 리포지토리 경로를 사용하도록 자격 증명을 구성해야합니다 (기본값).

git config --global credential.useHttpPath true

21
git config --list포함 된 경우 허용되는 답변이어야합니다 credential.helper=wincred.
MF

6
저를 위해 일했습니다-감사합니다-Windows 자격 증명 관리자에 대해서도 배웠습니다.
rwalter

이. 암호를 변경해도 작동하지 않지만 자격 증명을 삭제 한 다음 git push에서 자격 증명을 다시 요청하면 작동했습니다.
BiAiB

2
나는 그것이 창 8.1과 창 10에서도 작동한다고 생각합니다. 내 경우 : window 10 Pro, git 2.17
Thinhbk

2
나와 같은 사람이라면 다른 프롬프트를 바라면서 저장된 자격 증명을 제거하지만 프롬프트는 표시되지 않습니다. 자격 증명 관리자에서 수행 할 수 있습니다 의 주소 . Http 또는 Https는 동일하며 중요한 비트는 시작 부분입니다. ADDGeneric Credentialgit:http://yourserver:port/git:
A. Chiesa

101

비밀번호 변경 후 Git 가져 오기를 처음 시도 할 때 사용자 이름 / 비밀번호 조합이 잘못되었다고 들었습니다. 자식 자격 증명 도우미가 내 이전 값을 캐시했기 때문에 이것은 정확했습니다.

그러나 터미널 / 명령 프롬프트를 다시 시작한 후 다른 git fetch를 시도했지만 이번에는 자격 증명 도우미가 GitHub 사용자 이름과 비밀번호를 입력하라는 메시지를 표시했습니다.

터미널 / 명령 프롬프트를 다시 시작하는 것과 함께 초기 실패한 Git 페치 요청이 나를 해결했다고 생각합니다.

이 답변이 앞으로 비슷한 위치에있는 다른 사람에게 도움이되기를 바랍니다.


2
Git Bash를 다시 시작하면 새 사용자 이름 / 비밀번호를 입력하라는 대화 상자가 나타납니다.
Quan

2
기록을 위해 Windows 7에서 Powershell 세션을 다시 시작하지 않고 다른 풀 / 페치를 수행하여이 문제를 해결할 수있었습니다. Windows는 두 번째 시도에서 새 자격 증명을 요구했습니다.
벤더

콘솔 / 앱을 다시 시작하면 "wincred"가 작동했습니다. (내 콘솔을 다시 시작해야했다 "아톰"모든 것이 잘 근무)
low_rents

3
자격 증명이 두 번 필요한 git 명령을 입력하면이뿐만 아니라 git fetch두 번째 작업도 수행하는 것처럼 보입니다 git clone.
navigator_

대단히 감사합니다! 도메인 비밀번호를 변경할 때마다 자격 증명을 업데이트하는 방법을 기억해야합니다.
Alexander Brattsev

74

Windows, Linux 및 MacOS 용 명령 줄을 사용하는 솔루션

GitHub 서버에서 GitHub 비밀번호를 업데이트 한 경우 git fetch/pull/push명령을 처음 시도 할 때 인증 실패 메시지가 생성됩니다 .

동일한 git fetch/pull/push명령을 두 번 실행하면 자격 증명 (사용자 이름 및 암호)을 입력하라는 메시지가 나타납니다. GitHub 서버의 사용자 이름과 새로 업데이트 된 비밀번호를 입력하면 로그인에 성공합니다.

심지어이 문제가 있었고 위의 단계를 수행하고 완료했습니다!


@ 빈센트 : 당신이 겪고있는 문제는 무엇입니까 ??
Farooque

2
원격으로 반복됩니다 : 잘못된 사용자 이름 또는 비밀번호. 치명적 : 인증 실패
RichMeister

1
@RichMeister : 두 번째부터 사용자 이름 / 암호를 요구합니다. 사용자 이름 / 새 비밀번호를 제공하십시오.
Farooque

3
암호 변경 후 캐시 된 자격 증명으로 MacOS에서 저를 위해 일했습니다. 처음으로 '인증 실패 ...'를 얻습니다. 다시 시도 및 자격 증명을 입력하라는 메시지가되었다, ID 및 새 암호를 입력하고 이제 다시 작동
케빈 훅을

1
이것은 가장
좋고

73

Windows 사용자 인 경우 자격 증명 관리자에서 자격 증명을 제거하거나 업데이트 할 수 있습니다.

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

제어판모든 제어판 항목자격 증명 관리자

또는 시작 메뉴의 "Windows 검색"섹션에서 "자격 증명 관리자"를 검색하십시오.

그런 다음 자격 증명 관리자에서 "Windows 자격 증명"을 선택하십시오.

자격 증명 관리자는 "일반 자격 증명"아래에 Outlook 및 GitHub 리포지토리를 포함한 많은 항목을 표시합니다.

Git의 오른쪽에있는 드롭 다운 화살표를 클릭하면 편집 및 제거 옵션이 표시됩니다. 제거하면 다음에 가져 오거나 가져올 때 자격 증명 팝업이 나타납니다. 또는 여기에서 자격 증명을 직접 편집 할 수 있습니다.


3
다른 옵션을 시도한 후에 만이 옵션이 나를 위해 일했습니다. 여기에서 정보를 찾았습니다 : cmatskas.com/how-to-update-your-git-credentials-on-windows
neomib 10

참고 :이 컨트롤은 메트로 UI "제어판"을 통해 액세스 할 수 없습니다! control.exe이 컨트롤을 보려면 수동으로 실행 해야합니다.
AnrDaemon 2018 년

이것은 많은 도움이되었습니다! 나는이 도구가 존재한다는 것을 몰랐습니다.

35

먼저 Git 명령과 함께 사용중인 버전을 찾으십시오 git --version. 1.7.10보다 최신 버전 인 경우 다음 명령을 사용하십시오.

git config --global credential.helper wincred

그런 다음을 수행하면 git fetch암호 업데이트를 묻는 메시지가 나타납니다.

이제 Git에서 암호를 묻는 메시지가 여러 번 나타나지 않습니다.


6
이것은 질문에 대답하지 않습니다
disklosr

2
@disklosr 그렇습니다. 다음에 원격 작업을 수행 할 때 Git이 업데이트 된 암호를 입력하도록합니다.
Nilpo

1
@Nilpo "원격 액션"이란 ​​무엇입니까? "git push origin xxx"가 원격 작업이 아니어야합니까? 하지 않습니다. 대신 나는 원격 : 잘못된 사용자 이름 또는 암호를 얻는다.
RichMeister

1
그것은 나를 위해 일했다. 이 명령을 실행 한 후 "git fetch"를 수행하면 자격 증명을 입력하라는 메시지가 표시됩니다.
Alex

--global? 영향을받는 리포지토리 대신 모든 리포지토리에 대해 재확인을받을 위험이 있습니까?
토마스 웰러

29

여기에 대한 답변이 구식 인 것 같습니다. Windows 10 및 Git 2.15.0 에서이 작업을 수행했습니다.

git credential reject
protocol=https
host=github.com
<Empty line here>

그런 다음 새 사용자 이름 및 비밀번호를 설정하십시오.

git credential fill
protocol=https
host=github.com
<empty line here>

그런 다음 자격 증명이 원하는 대상 호스트에서 작동하는 경우 Git 자격 증명의 일반적인 사용 (4 단계) git credential approve에서 언급 한대로 자격 증명 도우미에게 자격 증명을 승인 된 것으로 표시하고 향후 연결에서 재사용하도록 지시해야합니다.


1
나에게있어, 그 git credential fill부분을있는 그대로, 이전의 잘못된 암호를 자동으로 생성했다. 이 명령을 사용하여 새 명령을 수동으로 설정해야했습니다. 어쨌든, 고마워,이 답변은이 문제에 도움이되었습니다!
Emerson Cardoso 12

맨 위로 찬성! 오래된 솔루션을 읽는 데 많은 시간을 낭비했습니다. 실제로 Git Credential Manager는 도메인 암호를 교체 할 때 고통을 겪어야한다고 생각합니다.
Janis Veinbergs

1
fill, 우리는 사용해서는 안 approve됩니까?
Z. Khullah

내 컴퓨터에서 git credential reject절대 완료되지 않습니다
Thomas Weller

@ThomasWeller 당신은 거기에 빈 줄을 남기기 위해 엔터를 치면 완료됩니다.
atavio

19

FWIW, 나는이 같은 문제를 우연히 발견했습니다 (그리고 상사도 더 강렬 해졌습니다).

즉각적인 해결책은 Windows 자격 증명 관리자에서 Git 항목을 삭제하거나 수정하는 것입니다. 당신은 당신의 지역화 된 Windows 버전에서 그것을 찾는 힘든 시간을 가질 수 있지만 다행히 당신은 좋은 오래된에서 시작할 수 있습니다 Windows+의 R실행 대화 상자 control keymgr.dllcontrol /name Microsoft.CredentialManager(또는 rundll32.exe keymgr.dll, KRShowKeyMgr당신이 고전적인 모양을 선호하는 경우). 또는 동료를위한 배치 파일에 넣습니다 cmdkey /delete:git:http://your.git.server.company.com.

Microsoft의 Git Credential Manager에서 이것은 2019 년 초에 바로 해결 될 수 있는 알려진 문제 이므로 숨을 쉬지 마십시오.


1
제어판 UI를 사용하여 Windows 자격 증명 관리자를 이해하는 것은 좋지만 모든 컴퓨터에서 업데이트해야 할 때 번거 롭습니다. 이 단일 명령은 git이 다음에 필요할 때 자격 증명을 다시 묻도록 강제하는 동일한 일을 수행하기 때문에 훌륭합니다 (기존의 유효하지 않은 자격 증명을 제거함). Windows Server 2016에서 자격 증명을 제거하기위한 명령 구문은 약간 다릅니다. cmdkey /delete:git:https://your.git.server.company.com
Rudimentary

/delete{:<TargetName>}는 IS 공식 구문 ,하지만 난 바로 가기가 발견 /del <TargetName>도 (1803) 윈도우 10 이상에서 작동합니다.
Jakob

별칭에 대한 좋은 아이디어! delpw = !cmdkey /delete:git:$(git remote get-url $1). 사용법 : git delpw origin(ps : / del은 여기서 작동하지 않습니다. 10 번 승리)
Z. Khullah

6

그냥 cd당신이 자식 - 자격 - winstore를 설치 한 디렉토리입니다. 어디에 있는지 모른다면 Git Bash에서 이것을 실행하십시오.

cat ~/.gitconfig

다음과 같은 것을 인쇄해야합니다.

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

이 경우 리포지토리는 C : \ ProgramFile \ GitCredStore입니다. Git Bash 또는 Windows 명령을 사용하여이 폴더 안에 있으면 다음을 입력하십시오.

git-credential-winstore.exe erase
host=github.com
protocol=https

을 누른 후를 Enter두 번 누르는 것을 잊지 마십시오 protocol=https.


3

현재 솔루션 중 어느 것도 git bash 2.26.2에서 작동하지 않았습니다. Windows 자격 증명 관리자를 사용하는 경우 어떤 경우에도 작동합니다.

한 가지 문제는 기록 된 사용자에 대해 Windows 자격 증명 관리자가 실행된다는 것입니다. 예를 들어, 내 경우에는 마우스 오른쪽 버튼으로 git bash를 실행하고 관리자로 실행하십시오. 따라서 저장된 자격 증명은 자격 증명 관리자에 있으며 관리자로 창에 로그인하지 않으면 Windows GUI로 액세스 할 수 없습니다.

이 문제를 해결하려면

  • cmd를 관리자 또는 bash로 실행하는 모든 사용자로여십시오.
  • windows / system32로 이동
  • 을 입력하십시오 cmdkey /list. ... target : xxx ... 라는 부분과 함께 이전 자격 증명이 여기에 나타납니다 .
  • 유형 cmdkey /delete:xxxxxx는 이전 줄에서 대상,

자격 증명이 제거되었음을 확인해야합니다. 다음에 인증이 필요한 git bash에서 작업을 수행하면 팝업이 자격 증명을 요구합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.