Direct Answer & TL;DR
- 에러 원인: 맥북 키체인에 이전 계정의 인증 정보가 남아있어, Git이 새로운 계정 정보를 물어보지 않고 기존 정보를 계속 사용하기 때문입니다.
- 해결 방법:
git credential-osxkeychain erase명령어로 키체인에 저장된 잘못된 데이터를 제거하면 해결됩니다. - 확인 방법:
git remote -v로 도메인을 확인한 뒤,get명령어로 키체인 내부를 들여다보니 어디서 정보가 꼬였는지 명확히 알 수 있었습니다.
브라우저에서 레포지토리 URL로 접속하면 코드가 멀쩡히 보이는데, 터미널에서 git clone이나 git pull만 하면 **‘Repository Not Found’**라는 메시지가 떠서 당활한 적이 많습니다. 주로 맥북 사용자 계정을 변경하거나, 새로운 Git 계정으로 작업을 시작할 때 이런 상황을 겪곤 하는데요.
fatal: repository 'https://gitlab.test.com/project/code.git/' not found
잘 있던 레포지토리가 갑자기 터미널에서만 ‘실종’된 원인을 찾아보니, Git 서버가 보안을 위해 인증 실패 시 “권한 없음” 대신 “찾을 수 없음(Not Found)” 메시지를 반환하기 때문이었습니다.
결국 문제는 제 맥북이 **낡거나 잘못된 인증 정보(Credential)**를 고집스럽게 사용하면서, 저에게 새로운 계정을 입력할 기회조차 주지 않는다는 점이었습니다. 제가 이를 어떻게 확인하고 해결했는지 정리해 보았습니다.
원인 파악: 어떤 정보가 꼬여있었나?
먼저 현재 제 Git이 참조하고 있는 원격 저장소와 키체인 정보부터 대조해 봤습니다.
우선 도메인(Host) 주소부터 확인했습니다
키체인을 조회하려면 먼저 문제가 된 저장소의 도메인 주소가 필요합니다. git remote -v 명령어로 전체 주소에서 도메인(예: github.com 혹은 gitlab.test.com)만 따로 확인했습니다.
git remote -v
키체인에 저장된 실제 인증 정보 조회
위의 도메인 정보를 넣어 아래 명령어를 실행해 보니, 맥북 키체인이 들고 있는 ‘이전 사용자 아이디’가 그대로 출력되었습니다.
printf "protocol=https\nhost=gitlab.test.com\n" | git credential-osxkeychain get
만약 아래처럼 이전 계정 아이디가 나온다면 정확히 찾으신 겁니다.
username=이전사용자아이디
password=저장된비밀번호_또는_토큰값
해결 과정: 잘못된 키체인 정보 제거
범인을 찾았으니, 해당 정보를 비워주는 방식으로 해결했습니다.
키체인 데이터 지우기 (Clean Up)
다음 명령어를 실행해서 문제의 도메인 정보를 맥북 키체인에서 강제로 제거했습니다.
printf "protocol=https\nhost=gitlab.test.com\n" | git credential-osxkeychain erase
[!IMPORTANT] 명령 실행 후 아무런 메시지도 뜨지 않는다면 성공입니다. 키체인이 깨끗하게 비워졌다는 뜻입니다.
새 계정으로 다시 로그인 (Re-authenticate)
다시 git pull이나 git clone을 시도하니, 드디어 기다리던 사용자 입력창이 떴습니다.
새로운 로그인 정보를 입력하니 명령어가 정상적으로 실행되었습니다. 입력한 정보는 다시 키체인에 안전하게 자동 저장됩니다.
[!TIP] 참고: 비밀번호 대신 토큰을 사용했습니다 요즘 GitHub나 GitLab은 보안상 실제 비밀번호 대신 Personal Access Token(PAT) 사용을 의무화하는 경우가 많습니다. 저도 재인증 시
password칸에 실제 계정 비밀번호가 아닌 생성한 토큰값을 넣어서 해결했습니다.
💡 효율적인 트러블슈팅 요약
| 단계 | 작업 내용 | 관련 명령어 |
|---|---|---|
| 1. 확인 | 키체인 내 오염된 데이터 조회 | ... get |
| 2. 삭제 | 잘못된 인증 정보 즉시 제거 | ... erase |
| 3. 재인증 | 새 계정 정보(PAT 등) 입력 | git pull / clone |
현재 설정 한눈에 확인하기
git config --list --show-origin
이 명령어는 각 설정값이 **어떤 파일(System/Global/Local)**에서 오는지 보여주므로, 설정이 꼬인 위치를 파악할 때 유용합니다.
마치며: 저와 같은 상황인 분들에게 도움이 되길
맥북에서 겪는 Git 인증 에러는 대개 ‘설정 파일’보다는 키체인 속에 숨어있는 **‘낡은 데이터’**에서 비롯되는 경우가 많았습니다. 저 또한 1시간 넘게 헤맨 끝에 이 사실을 깨달았는데요. 단순히 명령어를 복붙하기보다, get과 erase로 데이터를 제어해보며 macOS의 작동 방식을 조금 더 이해할 수 있었습니다.
혹시 지금 ‘Repository Not Found’ 메시지 때문에 고생하고 계신다면, 복잡한 설정들을 건드리기 전에 먼저 키체인 데이터부터 확인해보시길 추천드립니다.
해결 순서 요약:
get으로 키체인 내 오염된 데이터 확인erase로 잘못된 인증 정보 즉시 삭제- 재인증(
pull/clone)으로 새 정보를 키체인에 업데이트
🔗 References
- [Git 공식 문서] git-config - 설정 범위 상세 설명
- [Git 공식 문서] gitcredentials - Credential 시스템 개요