git: 'incential-cache'는 git 명령이 아닙니다.
암호 캐싱에 대한 부분을 포함하여 다음 지침을 따릅니다.지시가 잘못된 것 같아요. 매번 제가git push origin master
다음 오류가 발생했습니다.
git: 'credential-cache' is not a git command. See 'get --help'.
사용자 이름과 비밀번호를 입력해야 합니다.한 저는 오류 가 다시 , "" "" "" "" "" "" ""의 .git push
.
다음은 내 .gitconfig 파일의 내용입니다.
[user]
name = myusername
email = myusername@myemaildomain.com
[credential]
helper = cache
Git를 설치하고 Git Bash를 실행한 후 입력한 내용은 다음과 같습니다.
git config --global user.name "myusername"
git config --global user.email "myusername@myemaildomain.com"
git config --global credential.helper cache
제발 도와주세요.정말 답답합니다!
블로그에서 찾은 정보:
이 [git-credential-cache]는 git-credential-cache가 Unix 소켓을 통해 통신하기 때문에 Windows 시스템에서는 작동하지 않습니다.
Windows용 Git
msysgit가 Windows용 Git로 대체되었기 때문에 Windows용 Git을 사용하는 것이 이제 가장 쉬운 옵션입니다.Git for 윈도우즈 설치 관리자(예: 2.7.4)의 일부 버전에는 설치 중 Git 인증 정보 관리자를 사용하도록 설정하는 확인란이 있습니다.다음은 스크린샷입니다.
아직도 msysgit을 사용하고 있습니까?formsysgit 버전 1.8.1 이상
그wincred
도우미가 msysgit 1.8.1에 추가되었습니다.다음과 같이 사용합니다.
git config --global credential.helper wincred
1.8.1 이전 버전의 경우
먼저 git-credential-winstore를 다운로드하여 gitbin 디렉토리에 설치합니다.
다으로포디다을는하함렉확를다니인합리토음음이 포함된 합니다.git.cmd
경로 환경 변수에 있습니다.기본 디렉터리는 64비트 시스템의 경우 C:\Program Files(x86)\Git\cmd이고 32비트 시스템의 경우 C:\Program Files\Git\cmd입니다.이것을 테스트하는 쉬운 방법은 명령 프롬프트를 시작하고 다음을 입력하는 것입니다.git
git 명령 목록이 없으면 올바르게 설정되지 않습니다.
마지막으로 명령 프롬프트를 시작하고 다음을 입력합니다.
git config --global credential.helper winstore
또편집수다있니습할을 할 수도 있습니다..gitconfig
수동으로 파일:
[credential]
helper = winstore
이렇게 하면 Windows 인증 정보 관리자를 통해 Git 인증 정보를 관리할 수 있습니다. Windows 인증 정보 관리자는 Windows 제어판을 통해 가져올 수 있습니다.
처럼 .git
이제 와 함께 제공됩니다.wincred
Windows 서즉사능가용(msysgit):
git config --global credential.helper wincred
참조: https://github.com/msysgit/git/commit/e2770979fec968a25ac21e34f9082bc17a71a780
- 려달을 합니다.
git config --global credential.helper wincred
- 이동 위치:
CONTROL PANEL\CREDENTIAL MANAGER\WINDOWS CREDENTIAL\GENERIC CREDENTIAL
- 클하여자증추에서 자격 합니다.
Internet or network address:
더하다git:https://
message}.github.com
User:
{name}
Password:
{Password}
Windows 7에서 Aptana Studio3를 사용하는 동안 이 문제에 직면했습니다.이것은 저에게 도움이 되었습니다.
git config --global credential.helper wincred
>의 경우(git 전버 >=1.7.10으로 ):git --version
), 다음 방법을 사용합니다(참조 참조).
Windows:
git config --global credential.helper wincred
Mac:
git config --global credential.helper osxkeychain
유사한 오류는 다음과 같습니다.'credential-wincred' is not a git command
일반적인 답변과 일반적인 답변은(는)
wincred
더 이상 유지 관리되지 않는 프로젝트 git-incential-winstore용입니다.마이크로소프트 오픈 소스에 의해 관리되는 Git-Credential-Manager-for-Windows로 대체되었습니다.
위 링크에서 zip 파일로 릴리스를 다운로드하고 내용을 추출합니다.
\cygwin\usr\libexec\git-core
(또는)\cygwin64\usr\libexec\git-core
그렇더라도)
활성화합니다. ( " " " " (으 " (으 " (으)로 합니다..gitconfig
- (실행 - 행실:
git config --global credential.helper manager
사용방법
추가 구성이 필요하지 않습니다.
자격 증명이 필요할 때 [자동]으로 작동합니다.
예를 들어, Azure DevOps로 푸시하면 창이 열리고 oauth2 흐름을 초기화하여 토큰을 가져옵니다.
참조:
https://github.com/Microsoft/Git-Credential-Manager-for-Windows#installation-in-an-msys2-environment
저는 이 문제를 제거함으로써 해결했습니다.credential
특정 프로젝트의 구성에서 섹션:
- 방금 입력한 내용:
git config -e
- 편집기 안에서 저는 전체 섹션을 제거했습니다.
이렇게 하면 다음과 같은 성가신 메시지가 제거됩니다.
git: 'credential-cache' is not a git command. See 'git --help'.
이것은 저에게 효과가 있었습니다.
git 자격 증명-manager-core 구성
이제 Windows에서 작은 exe를 두 번 클릭하여 Git 암호 캐싱을 설정하는 훨씬 쉬운 방법이 있습니다.프로그램은 여전히 다음을 기반으로 합니다.git-credential-winstore
프로젝트가 깃허브에서 http://gitcredentialstore.codeplex.com/ 로 이동되었음에도 불구하고, 투표된 상위 답변에 의해 언급되었습니다.
다음 블로그 게시물에서 exe(및 Mac용 바이너리)를 다운로드할 수 있습니다. https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage
다른 Ubuntu에서도 않고 Ubuntu에서 오류가 했습니다).git: 'credential-cache' is not a git command.
), Git 1.7.9 이상에서만 이 기능을 사용할 수 있다는 것을 알게 될 때까지.
Ubuntu의 이전 배포판(Natty; 저는 고집스러운 Gnome 2 사용자입니다)에 있는 버전은 1.7.4.1 버전이었습니다.다음 PPA를 사용하여 업그레이드했습니다. https://launchpad.net/ ~git-core/+sys/ppa
마스터 브랜치에서 "git pull" 명령을 사용하려고 할 때도 비슷한 오류가 발생했습니다.
Error: "git: 'credential-manager' is not a git command. See 'git --help'."
아래 두 개의 명령을 실행하여 문제가 해결되었습니다.
$ git config --global --unset credential.helper
$ git config credential.helper store
다른 사람들을 위해 이 문제를 해결하기 위해 - 새 github 저장소를 설정하는 방법에 대해 귀여워하려고 여기에 도착했지만, 설정 페이지별 자격 증명 도우미는 저장소를 복제하지 않으면 작동하지 않습니다.
"팁: 자격 증명 도우미는 HTTPS 리포지토리 URL을 복제할 때만 작동합니다.SSH 저장소 URL을 대신 사용하는 경우 SSH 키가 인증에 사용됩니다.이 가이드에서는 SSH 키 쌍을 생성하고 사용하는 데 도움이 됩니다."
대화에 조금 늦었다는 것은 알지만 정확히 같은 문제가 발생했습니다. Git 구성에서 항목 자격 증명이 두 개 있었습니다.
내 .gitconfig 파일에서
[credential]
helper = cached
[credentials]
helper = wincred
수정: 내 .gitconfig 파일을 아래 설정으로 변경했습니다.
[credential]
helper = wincred
[credentials]
helper = wincred
이전 Ubuntu Linux 시스템의 경우:
git config --global credential.helper store
말 그대로 이걸 겪었어요!
- Git Credential Manager Core 다운로드 및 설치: https://github.com/microsoft/Git-Credential-Manager-Core#download-and-install
- 로
Account Settings > Emails
깃허브에서.다음과 같은 것을 확인해야 합니다. - 강조 표시된 전자 메일은 개인 전자 메일을 비공개로 유지하기 위해 생성된 시스템입니다.이제 복사하여 다음 단계에서 사용합니다.
- Git 구성:
git config --global user.name "yourusername"
git config --global user.email "1234567+yourgithubusername@users.noreply.github.com"
git config --global credential.helper cache
이제 git 명령이 다시 작동합니다.
보조 노트:Linux Mint를 사용하고 있습니다.YMMV
추가 참고 사항:Git Credential Manager Core v 2.0.567에 Debian 백업에 버그가 있습니다.새 버전이 출시되기 전에 v2.0.474를 설치하십시오.
또 다른 효율적인 해결 방법은 다음과 같습니다.
1 - 제어판으로 이동하여 다음과 같이 github.com 에 대한 자격 증명을 추가합니다.
2 - CMD로 이동하고 다음 명령을 입력합니다.
- a - cd %localappdata%\아틀라스어\원본 트리\git_local\mingw32\bin\
- b-git.exe config --edit --system
- c- 마지막 줄을 도우미 = 관리자로 수정합니다.
- d- CTRL+C를 클릭한 다음 :wq를 입력하고 Enter 키를 눌러 새 구성 파일을 저장합니다.
이것은 나에게 딱 맞습니다!
나는 세 가지 다른 것이 있었습니다.helper=
중 비어 .gitconfig의 [incential] 섹션에 있는 항목 중 하나가 비어 있습니다. 두 하고 나지두개삭보중관는하고하제머를중▁the▁deleting는▁and▁keeping보관helper=wincred
저를 위해 문제를 해결했습니다.
BTW: 이유는 모르겠지만, 저는 제 .gitconfig를 바로 찾지 못했습니다.그때 C에서 발견했습니다.\Users\사용자 이름.
이 경우 이 명령으로 문제가 해결되었습니다.
git config --global credential.helper manager-core --replace-all
새로운 net-core 자격 증명 관리자를 사용할 수 있습니다.
warning
:git-credential-manager-core
로 이름이 변경되었습니다.git-credential-manager
warning
자세한 정보는 https://aka.ms/gcm/rename 를 참조하십시오.
Git for Windows(2.38.1.windows.1, 2022년 10월)와 함께 패키지화된 현재 자격 증명 도우미는 다음과 같습니다.
git config credential.helper
manager
where git-credential-manager-core
c:\Program Files\Git\mingw64\bin\git-credential-manager.exe
10월 10일이었습니다.manager-core
.
GCM(Git Credential Manager)이 종료된 후:microsoft/Git-Credential-Manager/
GCM(Git Credential Manager)은 에 구축된 안전한 Git 자격 증명 도우미입니다.윈도우즈, macOS 및 리눅스에서 실행되는 NET.모든 주요 소스 제어 호스팅 서비스 및 플랫폼에 다중 인증을 포함한 일관되고 안전한 인증 환경을 제공하는 것을 목표로 합니다.
GCM은 Azure DevOps, Azure DevOps 서버(이전의 Team Foundation Server), Bitbucket, GitHub 및 GitLab을 알파벳 순으로 지원합니다.
Git의 기본 제공 자격 증명 도움말과 비교해 보십시오(Windows:wincred
macOS:osxkeychain
Linux:gnome-keyring/libsecret
이름 사용자 이름/암호에 대해서만 단일 요소 인증 지원을 제공합니다.
GCM은 두 가지를 모두 대체합니다.윈도우즈용 NET Framework 기반 Git Credential Manager 및 Mac 및 리눅스용 Java 기반 Git Credential Manager.
최신 릴리스 v2.0.866(2022년 11월)이 삭제됩니다.-core
항목 실행 파일의 접미사(PR 551)
항목 을 " 기항실파이시다작니합름을"에서 변경합니다.
git-credential-manager-core(.exe)
간단히 말하면git-credential-manager(.exe)
Git for Windows 프로젝트에서 이전 GCM4W가 옵션으로 제거되었기 때문입니다(그리고 GCMC 프로젝트의 이름이 변경되었습니다).정도 돕기 이름 "sim/"를합니다.
git-credential-manager-core(.exe)
새 버전으로 업데이트하지 않은 소비자를 위한 것입니다.
Git 2.34 (2021년 4분기)에서는 유닉스 소켓이 Git for Windows에서 고려되기 시작했습니다.
커밋 bb390b1, 커밋 245670c, 커밋 0fdcfa2(2021년 9월 14일)carenas
참조.
(주니오 C 하마노에 의해 합병 -- -- commit c2e7990, 2021년 9월 23일)
git-compat-util
윈도우즈의 유닉스 소켓에 대한 선언 포함사인 오프 바이: 카를로 마르셀로 아레나스 벨론
윈도우즈 10 릴리스 1803 및 윈도우즈 서버 2019부터 사용할 수 있습니다.
NO_UNIX_SOCKETS
에서는 Windows 빌드의 기본값으로 사용됩니다. Windows 7(윈도우 7)까지의 릴리스와 역호환성을 유지해야 하지만 그렇지 않은 경우에는 헤더를 포함할 수 있습니다.
도메인이 변경된 후 Azure DevOps 저장소에서도 동일한 문제가 발생했습니다. 즉, from @xy.com to @xyz.com .이 문제를 해결하기 위해 다음 권한을 가진 새 개인 액세스 토큰을 생성했습니다.
코드: 읽기 및 쓰기 포장: 읽기
그런 다음 윈도우즈 자격 증명 관리자를 열고 다음과 같은 세부 정보가 포함된 새 일반 윈도우즈 자격 증명을 추가했습니다.
인터넷 또는 네트워크 주소: "git:{projectname}@dev.azure.com/ {projectname}" - 또는 여기에서 git 저장소 이름을 사용해야 합니다.
사용자 이름: "개인 액세스 토큰"
암호: {생성된 개인 액세스 토큰}
그 후 우리의 모든 GIT 작업은 다시 작동했습니다.이것이 다른 누군가에게 도움이 되기를 바랍니다!
Mac에서 다음 명령을 실행합니다.
git config --global credential.helper osxkeychain
저의 원래 답변은 저 자신에게도 그다지 유용하지 않은 것으로 밝혀졌습니다. 그래서 저는 그것을 조금 더 조사했고, (조금 복잡하긴 하지만) 해킹을 발견했습니다.
그래서 저는.git
MSYS2를 .credential-cache
내 비밀번호를 일시적으로 기억하는 것 (그리고 나는 그런 사용 사례를 본 적이 없습니다.wincred
또는 기타 Windows 적용 가능한 접근 방식)
기본적으로, 이를 위해서는 https://github.com/git/git/blob/55144cc/builtin/credential-cache--daemon.c#L239 에서 해킹이 필요합니다.die
-그 줄에서, 우리는 계속 진행하고 싶습니다.
그래서, 우선, 우리는 우리가 만들기를 원합니다.git
MSYS2 아래에 있습니다.
- 문제 1: MSYS2에서 올바른 https://github.com/git/git 을 구축하기만 하면 링크 단계가 실패하고 "src/git/cache.h:1262: 'win32_has_drive_drive'에 대한 정의되지 않은 참조" 및 유사한 메시지가 표시됩니다.
, 우는적인을 .git
MSYS2에서 사용된 것과 같습니다.먼저 버전을 확인합니다.
$ git --version
git version 2.33.0
$ pacman -Ss git | grep installed # msys/git 2.33.0-1 (VCS) [installed]
https://www.msys2.org/wiki/Creating-Packages/, 에 따르면 다음과 같은 작업을 수행할 수 있습니다.
$ git clone "https://github.com/msys2/MSYS2-packages"
$ cd MSYS2-packages/
$ cd git
$ makepkg -sCLf
==> Making package: git 2.33.0-1 (Thu, Sep 23, 2021 12:47:33 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
...
make[1]: Entering directory '/c/src/MSYS2-packages/git/src/git-2.33.0'
make[1]: 'GIT-VERSION-FILE' is up to date.
make[1]: Leaving directory '/c/src/MSYS2-packages/git/src/git-2.33.0'
sed -e '1s|#!.*/sh|#!/bin/sh|' git-subtree.sh >git-subtree
chmod +x git-subtree
make: Leaving directory '/c/src/MSYS2-packages/git/src/git-2.33.0/contrib/subtree'
==> Starting check()...
참고:
- 이 빌드 프로세스는 먼저 ASCIIDOC/XMLTO 파트로 끝납니다. 예를 들어, 제 컴퓨터에서는 30분 정도 걸립니다.
- 그러면 결국엔.
*** prove ***
시간이 더 걸리지만 Ctrl-C로 중단될 수 있으며 빌드된 실행 파일은 지워지지 않습니다.
이제 소스를 해킹하려고 합니다. 참고:
- 우리가 소스를 해킹하면, 우리는 사용하고 싶지 않습니다.
makepkg -sCLf
소스 아티팩트와 를입니다.
그래서, 우리는 우리의 해킹을 만듭니다.sed
그런 다음 빌드:
$ sed -i 's/die(_(permissions_advice), dir);/fprintf(stderr, "Permissions on cached credentials socket directory %s are too loose, but HACK: going on\\n", dir);/' ./src/git-2.33.0/builtin/credential-cache--daemon.c
$ (cd src/git-2.33.0/; make)
CC builtin/credential-cache--daemon.o
LINK git.exe
...
SUBDIR templates
이 시점에서 해킹은 적어도 3개의 실행 파일로 끝나며, 이는 다음과 같이 확인할 수 있습니다.
$ grep -ao ....HACK........ ./src/git-2.33.0/git-credential-cache--daemon.exe
$ grep -ao ....HACK........ ./src/git-2.33.0/git-credential-cache.exe
$ grep -ao ....HACK........ ./src/git-2.33.0/git.exe
세 가지를 모두 교체한 후에야 이 작업을 수행할 수 있었습니다.
# backup the original files:
$ mv /usr/lib/git-core/git-credential-cache--daemon.exe /usr/lib/git-core/__git-credential-cache--daemon_orig.exe
$ mv -v /usr/lib/git-core/git-credential-cache.exe /usr/lib/git-core/__git-credential-cache__orig.exe
$ mv -v /usr/bin/git.exe /usr/bin/__git_orig.exe
$ mv -v /usr/lib/git-core/git.exe /usr/lib/git-core/__git_orig.exe
# copy over the hacked files:
cp -v ./src/git-2.33.0/git-credential-cache--daemon.exe /usr/lib/git-core/
cp -v ./src/git-2.33.0/git-credential-cache.exe /usr/lib/git-core/
cp -v ./src/git-2.33.0/git.exe /usr/bin/
cp -v ./src/git-2.33.0/git.exe /usr/lib/git-core/
이에서 이고그시서에점리,서▁and에,credential-cache
MSYS2(제한된 시간 동안 암호 캐싱) 작업도 시작했습니다. 시작할 때 해킹된 라인을 덤프하는 것뿐입니다.
$ git pull
Password for 'https://user@git.mysite.com':
Permissions on cached credentials socket directory /home/user/.cache/git/credential are too loose, but HACK: going on
Already up to date.
# second pull, password is cached
$ git pull
Already up to date.
좀 까다롭긴 하지만 효과가 있는 것 같습니다.
PS: 까다로운 점은 제가 원래 교체했다는 것입니다.die
printf
stdout
실패했습니다; 보니, 하만그계실패습니다했속것은지다니▁but습실,▁it패;▁out했▁turns▁kept. 알고 보니,stdout
간 통신에 이 것이 대답합니다.ok\0
stdout
그것은 3바이트입니다; 그래서 해결책은 통지를 인쇄하는 것이었습니다.stderr
대신.
(원답):
질문에 정확히 응답하지는 않았지만, 이 질문을 답변으로 문서화하기 위해 찾을 수 있는 가장 적절한 질문이었습니다.
사용합니다git
현재 버전이 있는 Windows 10의 MSYS2 아래:
$ git --version
git version 2.32.0
저는 일반적으로 제한된 시간(약 10분 정도) 동안 암호를 캐시한 다음 잊어버리기를 원합니다. 아직 사용하지 않았습니다.wincred
또는 해당 사용 사례가 있는 다른 윈도우즈별 자격 증명 관리자.
즉, 자격 증명 관리자를 처음 실행할 때는 문제가 없습니다. 이후에 사용할 때에만 다음과 같은 문제를 해결할 수 있습니다.
$ git push
Password for 'http://user@githost.example.com':
fatal: The permissions on your socket directory are too loose; other
users may be able to read your cached credentials. Consider running:
chmod 0700 /home/user/.cache/git/credential
fatal: cache daemon did not start:
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
...
기본적으로 은 그서래, 기으로삭, 해은는것다입니제하책결을 입니다.credential
디렉토리 - 그 후 자격 증명 캐시 관리자가 처음처럼 실행되고 제한된 시간 동안 암호를 캐시합니다.
$ rm -rf ~/.cache/git/credential
# note below, the very first pull still asks for a password:
$ git pull
Password for 'http://user@githost.example.com':
Already up to date.
# ... but the second pull does not, it uses credentials cache
$ git pull
Already up to date.
요, 나는충좋아히, .:)
편집: 그렇지 않습니다. 이 직후에 다른 탭에서 풀을 시도하면 오류가 다시 발생합니다.
언급URL : https://stackoverflow.com/questions/11693074/git-credential-cache-is-not-a-git-command
'code' 카테고리의 다른 글
SQL 테이블의 레코드를 복사하면서 새 행의 고유 ID를 스왑 아웃하려면 어떻게 해야 합니까? (0) | 2023.05.08 |
---|---|
일부 Microsoft 언어를 "Visual"이라고 부르는 이유는 무엇입니까? (Visual C#, Visual Basic)NET, 비주얼 C++) (0) | 2023.05.08 |
npm 설치와 업데이트 - 차이점은 무엇입니까? (0) | 2023.05.08 |
현재 셀에 대한 Excel 참조 (0) | 2023.05.08 |
URL 라우팅, 이미지 처리기 및 "잠재적으로 위험한 요청"입니다.경로 값" (0) | 2023.05.08 |