728x90
깃허브를 사용할 때 심하게 충돌이 나거나, 예전 커밋으로 돌려도 잘 안될 때 수동으로 소스코드를 수정한 적이 많았다.
그런데 작년부터 자주 만나던 에러가 있었는데 다음과 같은 오류다.
credential-dsxkeychain?? 이게 뭘까?
나는 push명령어를 사용했을 뿐인데 왜 갑자기 credential뭐시기가 command가 아니라고 할까?
이번에 이 오류를 해결하지 못하면 다음에 또 이 오류가 날 게 뻔해서 블로그에 적어두려고 한다.
상황
- 예전 커밋으로 돌아가기 위해 reset 명령어 사용
- 어떤 브랜치에 결과를 푸쉬함
- 수정사항을 수정한 후
- git push origin origin/브랜치명 명렁어를 수행
찾아본 자료
- 질문자는 git command-line tools가 /usr/local/git/bin에 잘 설치되어 있고, git-credential-osxkeychain도 /user/local/git/bin에 잘 설치되어있다고 한다
- 답변에는 다음과 같은 명령어를 사용하라고 하였다
brew untap homebrew/homebrew-dupes
- 다음과 같은 명령어를 사용하라는 답변도 있었다
brew upgrade git
검색해보니 brew는 mac용 패키지 관리자라고 하였다.
하지만 안타깝게도 나는 windows를 사용하고 맥북을 사용하는 유저가 아니다. ㅠㅠ
그래서 다른 걸 찾아봤다
- windows에서는 WinCred라는 걸 사용하여 자격증명을 저장할 수있다고 한다.
- 하지만 명령어가 무슨 의미인지 모르고 사용하려니 무서워져서 관련 자료를 찾아봄
- credential.helper에 wincred를 사용하는 경우 git은 표준 Windows 자격 증명 관리자를 사용하여 자격 증명을 저장함
- 제어판 설정에서 자격 증명 관리자를 볼 수 있음
- 4 Windows 자격 증명 관리에 대한 MSDN 설명서
-
더보기https://learn.microsoft.com/ko-kr/windows/win32/secauthn/credential-manager?redirectedfrom=MSDN
-
- 이에 대한 git 인터페이스는 제공된 API를 사용하여 자격 증명을 안전하게 저장함
- CredEnumerate 및 CredWrite와 같은 기능은 저장된 자격 증명을 확인하고 추가하거나 업데이트하는 데 사용됨
- 자격 증명은 "일반 자격 증명"으로 저장되며 일반적으로 git:https//...로 시작함
- Windows 암호를 변경하는 경우 해당 항목을 삭제한 다음 Git 콘솔에서 git config --global credential.helper wincred를 실행하는 것이 좋음
- 작업을 마친 후에는 관련 앱(예: Visual Studio)을 닫았다가 다시 열어야 함
- 깃허브 자격 증명이 왜이렇게 많은걸까? 8개나 된다...
- 필요없는 것들을 열심히 지워줌
결론은 위 명령어는 깃허브가 자격증명을 저장할 수 있게하는 명령어인데, 이걸 쓰면 오류가 안뜬다는 뜻인듯
명령어를 시행하고 다시 푸쉬해보자
- 자격증명 관련 오류는 안뜨지만 Everything up-to-date라고 하네?
자격증명 관련 오류는 해결하였지만 원하는 결과는 아니었다
깃허브는 정말 알다가도 모르겠다.. 조금 더 깊은 내용을 공부할 필요가 있는 것 같다
728x90
'Backend > ErrorMessage' 카테고리의 다른 글
[spring] error: cannot find symbol (롬복 에러) (1) | 2023.05.06 |
---|