source

Git에서 자격 증명 제거

manysource 2023. 4. 20. 21:34

Git에서 자격 증명 제거

저는 여러 개의 저장소로 작업하고 있지만, 최근에는 내부 저장소에서 작업하고 있었는데 모든 것이 훌륭했습니다.

오늘은 다른 코드를 커밋하고 밀어 넣어야 했는데, 문제가 좀 있어요.

$ 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'

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

아무 것도 효과가 없는 것 같은데, 더 좋은 생각 있어요?

이 문제가 Windows 머신에서 발생하는 경우는, 다음의 순서에 따릅니다.

  • 자격 증명 관리자로 이동합니다.

    • 독일어로는 다음과 같습니다.안멜데인포메이션 베르왈퉁
    • 프랑스어로는 다음과 같습니다.게스티오네이트 식별
    • 폴란드어로는 다음과 같습니다.메네데르포아체
    • 포르투갈어로는 다음과 같습니다.게렌시아도르 데 크레덴시아스
    • in Russian, it is called: Диспетчер учётных данных
    • 스페인어로는 다음과 같습니다.관리자 자격 증명
    • 노르웨이어로는 다음과 같다.Legalityasjonsbehandling
    • 체코어로 그것은 Spravce povříeni라고 불린다.
    • 네덜란드어로는 다음과 같습니다.레퍼런스 비어

    자격 증명 관리자로 이동합니다.

  • Windows 자격 증명으로 이동

  • Generic Credentials 아래 항목 삭제

    Windows 자격 증명으로 이동하여 일반 자격 증명 아래의 항목을 삭제합니다.

  • 다시 연결해 보십시오.이번에는 올바른 사용자 이름과 비밀번호를 입력하도록 요구됩니다.

Git credential 캐시는 메모리에 credential을 캐시하고 필요에 따라 배포하는 데몬 프로세스를 실행합니다.따라서 git-credential-cache--daemon 프로세스를 종료하면 이 모든 것이 폐기되고 이를 캐시로 계속 사용할 경우 비밀번호를 다시 입력하라는 메시지가 나타납니다.도우미 옵션.

Git을 사용하여 Git 자격 .git config --global --unset credential.helper그런 다음 이를 재설정하면 캐시된 자격 증명을 다른 저장소(있는 경우)에서 계속 사용할 수 있습니다., 하다, 하다, 하다, 하다, 하다, 이렇게 할 요.git config --system --unset credential.helperWindows 2의 Git(Git for Windows 2).

Windows 에서는, 매니저 헬퍼를 사용하는 것이 좋을지도 모릅니다.git config --global credential.helper manager이렇게 하면 저장된 자격 증명을 삭제 또는 편집할 수 있는 제어판 인터페이스가 있는 윈도우즈 자격 증명 저장소에 자격 증명이 저장됩니다.이 스토어를 사용하면 Windows 로그인에 의해 상세 정보가 보호되고 여러 세션에 걸쳐 지속될 수 있습니다.Git for Windows 2.x에 포함된 매니저 도우미는 Git for Windows 1.8.1.1에 추가된 이전의 wincred 도우미를 대체했습니다.winstore라고 불리는 유사한 도우미는 온라인에서도 이용할 수 있으며 GitExtensions와 함께 사용되었으며, GitExtensions는 더 많은 GUI 기반 인터페이스를 제공합니다.매니저 도우미는 winstore와 동일한 GUI 인터페이스를 제공합니다.

Windows 10 의 서포트 페이지에서, Windows credential 매니저의 상세를 추출합니다.

자격 증명 관리자를 열려면 태스크바의 검색 상자에 "자격 증명 관리자"를 입력하고 자격 증명 관리자 제어판을 선택합니다.

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

재입력:

$ git config credential.helper store

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

경고

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

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

나는 OP와 같은 문제에 직면했다.시스템 어딘가에 저장된 이전 Git 자격 증명을 가져와서 새 자격 증명과 함께 Git을 사용하고 싶어서 명령을 실행했습니다.

$ git config --system --list

나타났다

credential.helper=manager

git push오래전에 설정한 이전 사용자 이름을 그대로 사용했고, 변경을 푸시하기 위해 새로운 GitHub 계정을 사용하고 싶었습니다.나중에 알게 된 바로는 이전 GitHub 계정 자격 증명이 제어판사용자 계정 → 자격 증명 관리자 → Windows 자격 증명 관리에 저장되어 있었습니다.

Windows 자격 정보 관리

지 안 되어, 「 」를 했을 때git push【GitHub】【GitHub】【GitHub】【GitHub】【GitHub】【GitHub】,【GitHub】【GitHub】,【GitHub】

다음 명령을 사용해 보십시오.

git credential-manager

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

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

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

git credential-manager uninstall

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

나한테 맞는 걸 찾았어OP에 코멘트를 쓸 때 시스템 설정 파일을 확인하지 못했습니다.

git config --system -l

를 나타냅니다.

credential.helper=!github --credentials

회선. 이 설정을 해제했습니다.

git config --system --unset credential.helper

이제 자격 증명이 잊혀집니다.

git config --list

credential.helper = manager되어 있습니다). (Windows 머신에 탑재되어 있습니다.)

현재 로컬 git 폴더에 대해 캐시된 사용자 이름/비밀번호를 비활성화하려면 다음과 같이 입력합니다.

git config credential.helper ""

이렇게 하면 git은 "manager"에 저장된 내용을 무시하고 매번 비밀번호를 입력하도록 요구됩니다.

이 에러는, 같은 머신상에서 복수의 Git 어카운트를 사용하고 있는 경우에 표시됩니다.

macOS 를 사용하고 있는 경우는, github.com 의 보존된 credential을 삭제할 수 있습니다.

github.com 자격 정보를 삭제하려면 다음 단계를 따르십시오.

  1. 오픈체인 액세스
  2. github 찾기
  3. github.com 를 선택하고 오른쪽 클릭합니다.
  4. "github.com" 삭제
  5. Push 또는 Pull to get을 다시 시도하면 자격 증명을 입력하라는 메시지가 나타납니다.
  6. 리포지토리 계정에 대한 올바른 자격 증명을 입력하십시오.
  7. 다 했어요.

    여기에 이미지 설명 입력

제 경우 Git은 자격 증명을 저장하기 위해 Windows를 사용하고 있습니다.

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

윈도우즈 인증 정보 메뉴

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

[ Control Panel ]> [ User Accounts ]> [ Credential Manager ]> [ Windows Credentials ]으로 이동합니다.목록에 Git 자격 증명이 표시됩니다(예: git:https://).클릭 후 패스워드를 갱신하고 Git bash에서 git pull/push 명령을 실행하면 에러 메시지가 더 이상 표시되지 않습니다.

wincred*가 설치된 Windows 2003 Server에서는 다른 답변은 도움이 되지 않았습니다.를 사용해야만 했다.

  • cmdkey /list자격 증명
  • cmdkey /delete:Target 「credential을 합니다.

cmdkey /list; cmdkey /delete:

" "은 (*' 리라라라라라 。git config --global credential.helper wincred)

Windows 10 Professional에서 Windows for Git의 최신 버전을 사용하는 것과 비슷한 문제가 있었습니다.저는 2개의 GitHub 계정과 Bitbucket 계정을 가지고 있기 때문에 VS2017, Git 확장 및 Git bash에 대해 조금 혼란스러웠습니다.

처음에 이 명령어를 사용하여 git이 내 자격정보를 어떻게 처리하는지 확인했습니다(높은 명령어로 git bash를 실행하지 않으면 오류가 발생합니다).

git config --list

credential manager라는 엔트리를 찾아서 START 버튼> Credential manager를 입력하고 credential manager 노란색 safe 아이콘을 클릭하여 앱을 실행했습니다.그런 다음 Windows Credentials 탭을 클릭하여 현재 git 계정의 엔트리를 찾았고, 그 엔트리는 Bit-bucket으로 되어있었기 때문에 이 계정을 삭제했습니다.

그러나 이 방법은 효과가 없었기 때문에 다음 단계는 자격 정보를 해제하는 것입니다.리모컨에 푸시하려는 GitHub 프로젝트가 포함된 노트북의 저장소 디렉토리에서 이 작업을 수행했습니다.다음 명령을 입력했습니다.

git config --system --unset credential.helper

그리고 Git push를 하면 Git Hub 사용자 이름을 입력하라는 메시지가 표시되며(필요에 따라 올바른 사용자 이름), 그리고 관련 비밀번호와 모든 것이 올바르게 푸시되었습니다.

대부분의 사용자가 하나의 저장소로 작업을 진행할 때 얼마나 큰 문제가 발생하는지 알 수 없지만 여러 프로바이더를 사용하여 작업해야 하기 때문에 이 문제가 다시 발생할 수 있습니다.

git pull을 할 때도 같은 에러가 발생하여 이렇게 수정했습니다.

  1. HTTPS로 리포 변경
  2. 실행git config --system --unset credential.helper
  3. 실행git config --system --add credential.helper manager
  4. 명령어 " " "git pull
  5. 팝업되는 로그인 창에 credential을 입력합니다.
  6. Git 풀은 정상적으로 완료되었습니다.

git에서 이전에 저장된 자격 증명을 잊어버리고 사용자 이름과 비밀번호를 다시 입력하려면 다음 명령을 사용합니다.

git credential-cache exit

위의 명령어를 실행한 후 푸시하려고 하면 사용자 이름과 비밀번호를 입력할 수 있는 옵션이 나타납니다.

Git Credential Manager for Windows를 사용하는 경우(현재 버전이 일반적으로 사용하는 경우):

git credential-manager clear

2016년 중반에 추가되었습니다.credential manager가 사용되고 있는지 확인하려면:

git config --global credential.helper
→ manager
  1. ★★★★★★★★★★★★★★★로 이동C:\Users\<current-user>
  2. .git-credentials
  3. 필요에 따라 콘텐츠 삭제 또는 수정
  4. 단말기를 재기

도우미에 되어 있는 이 credential credential을 호출하는 하는 휴대용 입니다.git credential reject:

  • 한 줄:

    $ echo "url=https://appharbor.com" | git credential reject
    
  • 또는 인터랙티브하게:

    $ git credential reject
    protocol=https
    host=gitlab.com
    username=me@example.com
    ↵
    
    • ▼는 Enter 기호입니다.입력 마지막에 Enter 키를 두 번 누르기만 하면 복사/붙이지 않습니다.
    • 사용자 이름이 wincred로 인식되지 않는 것 같으니 Windows에서 사용자 이름으로 필터링하지 마십시오.

다음 새 하려면 "하다"를 합니다.git fetch.

https://git-scm.com/docs/git-credential

「github」로 해야 합니다.username ★★★★★★★★★★★★★★★★★」password

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

제어판\사용자계정\크레덴셜 매니저

윈도 자격 정보 편집

로 이동하여 하여 push 를 입력합니다.username/email ★★★★★★★★★★★★★★★★★」password.

사용자 전환 후 코드를 푸시할 수 있게 되었습니다.

내 경우 Windows Credential Manager(Windows 7)에 저장된 자격 증명을 찾을 수 없습니다.

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

git config --global credential.helper wincred

내 자격증을 없애줄지 알아보니 솔직히 메리에게 박수를 보냈고 실제로 효과가 있었다.

Windows 의 현재 로그인하고 있는 유저 폴더에 있는 .gitconfig 파일에서 다음의 행을 삭제합니다.

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

이 조작은 유효했습니다만, 리모트로 누르면, 패스워드를 재차 요구합니다.

적어도 Windows 에서는 동작합니다.

git remote show origin

이 접근방식은 나에게 효과가 있었고 OS에 구애받지 않아야 했다.조금 엄격하지만 빠르게 자격 증명을 다시 입력할 수 있게 해주었습니다.

자격 증명을 다시 입력할 원격 별칭을 검색하기만 하면 됩니다.

$ git remote -v 
origin  https://bitbucket.org/org/~username/your-project.git (fetch)
origin  https://bitbucket.org/org/~username/your-project.git (push)

프로젝트 경로 복사(https://bitbucket.org/org/~username/your-project.git)

그런 다음 리모컨을 제거합니다.

$ git remote remove origin

그럼 다시 추가해 주세요.

$ git remote add origin https://bitbucket.org/org/~username/your-project.git

MacOS 사용자의 경우:

이 에러는, 같은 머신상에서 복수의 Git 어카운트를 사용하고 있는 경우에 표시됩니다.

github.com 자격 정보를 삭제하려면 다음 단계를 따르십시오.

  1. 파인더로 이동
  2. 응용 프로그램으로 이동
  3. 유틸리티 폴더로 이동
  4. 오픈 키 체인 액세스
  5. github.com 를 선택하고 오른쪽 클릭합니다.

"github.com" 삭제

Push 또는 Pull to get을 다시 시도하면 자격 증명을 입력하라는 메시지가 나타납니다.리포지토리 계정에 대한 올바른 자격 증명을 입력하십시오.완료, 정답을 상향 투표합니다.

뺄 수 요.credential.helper=!github --credentials C:\Program Files\Git\mingw64\etc\gitconfig credential의

아무런 대답도 듣지 못했다.하지만 결국엔 이렇게 됐죠

rm -rf ~/.git-credentials

!!면!!!!!!! 「」를 하는 .git명령어를 입력하면 패스워드가 요구됩니다.

@patthoyts의 높은 투표율을 바탕으로 다음 답변을 작성:

은 쓰기는 는 않는다.local ★★global ★★system설정을 실시합니다.그들을 위한 공식 git 문서는 여기에 있고 읽을 가치가 있습니다.

예를 들어 Linux를 사용하고 있으며 시스템 구성을 사용하지 않기 때문에--system단, 으로는 "flag"를 할 필요가 .--local ★★★★★★★★★★★★★★★★★」--global설정을 실시합니다.

사용 예로는 Github crendential이 2개 있습니다.하나는 업무용이고 다른 하나는 놀이용입니다.

이 문제에 대처하는 방법은 다음과 같습니다.

$ 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/config는 Github용 SSH 키(작업용, 놀이용)와 대응하는 커스텀 이름의 리모트호스트에 관련지어 인증 컨텍스트화를 해결합니다.

최종적으로 이 문제를 해결한 것은 GitHub 데스크톱을 사용하여 저장소 설정으로 이동하여 저장소 URL에서 user:pass@를 삭제하는 것이었습니다.그런 다음 명령줄에서 푸시를 시도하면 로그인 자격 증명을 입력하라는 메시지가 표시됩니다.그것들을 넣고 나니 모든 것이 정상으로 돌아갔습니다.Visual Studio와 명령줄 모두 작동하며, 물론 GitHub 데스크톱도 작동합니다.

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

프라이머리 리모트리포지토리(오리진)를 다음의 장소에서 변경합니다.

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

수신인:

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

[저장]을 클릭합니다.

자격 증명이 지워집니다.

실제로 갱신useHttpPath모든 GCM에서 동작하는 git 설정입니다.수정했습니다.

첫 번째 질문의 개요

  • Windows에서 git 작업
  • GitHub의 여러 저장소에서 작업합니다.
  • 다른 GitHub 저장소에 잘못된 자격 증명이 사용됨

제목에 "자격 정보 삭제"라고 쓰여 있지만, GitHub에는 직무 관련 프로젝트와 개인 프로젝트 등의 계정이 여러 개 있을 수 있다는 가정으로 이어집니다(적어도 그 문제는 이 주제를 찾게 했습니다).계속 읽으면, 그렇지 않으면 답을 무시해 주세요.하지만 도움이 될 수도 있습니다.

이유

Microsoft의 Windows용 GCM과 같은 Git Credential Manager(짧은 GCM)는 기본적으로 호스트별로 자격 정보를 저장합니다.이것은, Windows Credential Manager 를 체크하는 것으로 확인할 수 있습니다(영어, 프랑스어, 및 독일어 버전의 Windows 로 액세스 하는 방법에 대해서는, 그 외의 회답을 참조해 주세요.따라서 기본적으로는 같은 호스트(github.com)에서 여러 계정을 사용할 수 없습니다.

2020년 10월에 Windows용 GCM은 폐지되고 GCM Core로 대체되었습니다.여기서 설명하는 정보는 새로운 GCM에도 적용되며 Windows용 GCM에 의해 저장된 자격 증명도 사용해야 합니다.

솔루션

자격 증명 엔트리에 대한 추가 정보로 저장소에 대한 전체 경로를 포함하도록 git을 구성합니다.WindowsGCM 에도 기재되어 있습니다.
HTTP(S) [Repository]로를 포함하여 각 저장소에 대해 개별 계정을 사용할 수 있도록 하는 것이 좋습니다.

가능한 모든 호스트의 경우:

git config --global credential.useHttpPath true

github.com 한정:

git config --global credential.github.com.useHttpPath true

GCM과 git 문서를 보고 뭔가 다른 것을 지정하고 싶을 수도 있습니다.

..git-credentials파일이 동작했습니다.

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

Windows 10 의 경우는, 아래의 패스로 이동합니다.

제어판\사용자계정\크레덴셜 매니저

이 위치에는 2개의 탭이 있습니다.

  1. Web credential과 2.Windows credentials.

Windows credentials 탭을 클릭하면 저장된 github credentials가 "Generic credentials" 제목 아래에 표시됩니다.

여기서 삭제 후 재클론을 시도할 수 있습니다.Windows 10 시스템에서 저장된 자격 정보가 삭제되었기 때문에 사용자 이름/비밀번호 입력을 요구할 수 있습니다.

언급URL : https://stackoverflow.com/questions/15381198/remove-credentials-from-git