티스토리 뷰
우리 회사에서는 IntelliJ, Git lab, HTTP 전용 서버, 내부망 환경에서 개발 작업을 진행한다.
지난주까지 잘 작업했는데 오늘 출근했더니 갑자기 IntelliJ에서 gitlab 계정 로그인 창이 반복해서 뜨면서 로그인이 되지 않는 것이었다.
두 시간 동안 씨름해 해결한 IntelliJ Git 연동 로그인 실패 오류 해결 방법을 정리해본다.
문제 상황 1 : 로그인 창에서 token 인증 실패
기존에 사용하던 (만료기간 많이 남은) token을 입력해도 fail,
gitlab에서 모든 권한 추가한 토큰을 새로 생성해 입력해도 fail이 떴다.
문제 상황 2 : fetch, push 실패
나는 보통 IntelliJ의 GUI를 통해 commit, push 및 fetch를 진행하는데
fetch, push 모두 되지 않았고 로그인 창에서 cancle을 누르더라도 동일한 창이 반복적으로 노출됐다.
문제 상황 3 : 403 오류
Settings > Git Lab에서 내 계정을 확인해보니 아래와 같이 빨간 오류 메시지가 떴다.
HTTP Request Request Get http://[프로젝트주소]/api/v4/version failed with status code 403 and response body: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3c.org~~
403은 접근 권한 없음 (차단됨)의 의미
=> IntelliJ가 API 호출했는데 Gitlab API가 아니라 웹 로그인 페이지 HTML을 받아온 상태
해결 시도 1 : 다른 IDE에서 크로스 체크
동일 프로젝트를 VS Code로 열어 터미널에서 push를 했더니 정상 작동했다.
=> Git 자체에는 문제가 없음을 확인
해결 시도 2 : Git 실행파일 확인
VS Code와 IntelliJ가 서로 다른 Git 실행파일을 사용하는지 확인했다.
① IntelliJ에서 Settings > Version Control > Git으로 들어가 Path to Git executable 확인
② VS Code 터미널에서 아래와 같이 입력
where git
두 경로는 완벽히 동일했다. C:\Program Files\Git\cmd\git.exe
=> 두 IDE가 동일한 Git 실행파일 사용하는 것 확인
해결 시도 3 : 네트워크 문제인지 확인
브라우저에서 아래 주소를 열어봤다.
http://[프로젝트주소]/api/v4/version
version, revision, kas 정보 담은 JSON 파일이 떴다 (정상)
로그인 화면이 나올 경우 => 인증/SSO 문제
접속이 아예 되지 않으면 => 네트워크 문제
해결 시도 4 : git URL 방식 확인
프로젝트가 혹시 HTTPS인지, SSH인지 확인해보기로 했다.
intelliJ 터미널에서 아래와 같이 입력
git remote -v
http://주소 가 떴다.
=> 토큰 인증 문제일 가능성 확인
※ git@gitlab... <- 이 형식일 경우 토큰 필요 없고 SSH 키 설정 문제
해결 시도 5 : 자격 증명 삭제
IntelliJ에 저장된 인증 정보가 꼬였을 가능성도 있었다.
제어판 > 자격증명관리자 > Windows 자격 증명에서 git, gitlab, gitlab URL 관련 항목 전부 삭제 후 IntelliJ 완전 종료,
다시 실행 후 Username에 회사 gitlab 아이디, Password에 새 토큰으로 로그인 하기
gpt가 추천했으나 혹시 몰라서 시도해보지는 않았다.
=> windows 자격 증명은 삭제하더라도 push하면 자동으로 재생성되므로 문제 없다고 함
해결 시도 6 : git test
IntelliJ에서 git test를 해봤다.
settings > version control > git에서 상단 Test 버튼 클릭해 git 실행 가능 여부와 버전을 확인했다.
Git version 2.37.0이 떴다.
=> Git 정상임을 다시 확인
해결 시도 7 : 터미널 push
git test가 성공한 것을 보고 IntelliJ 터미널에서 push를 실행해봤다.
당연히 안될 줄 알고 안해봤는데.. 터미널에서는 push가 되는 것이었다.
=> IntelliJ GUI 인증 모듈 문제임을 확인 (여기서 실패하면 git HTTP 인증 자체 문제일 가능성 있음)
※ gpt를 통해 얻은 정보 :
인텔리제이는 GUI에서 push 할 때 내부 Git API를 호출하고 자체 credential manager를 통해 인증을 시도,
여기서 실패하면 로그인 창을 반복 노출한다.
반면 터미널은 Windows credential helper 또는 git config에 저장된 토큰을 사용하므로 정상 인증이 된다.
=> GUI가 credential helper를 사용하지 않음에서 비롯된 문제 !
해결 시도 8 : git config 확인
IntelliJ에서 git 설정을 확인했다.
git remote -v
git config --list
remote origin URL 동일 (정상), credential.helper=manager-core 도 설정되어 있음을 확인했다.
이번엔 Settings > version control > Git에서 아래 체크박스를 체크했다.
Use credential helper
그후 작업관리자를 열어 IntelliJ를 완전 종료했다.
Ctrl + shift + Esc
그리고 다시 실행해 push 해보니 성공 !
연휴 잘 쉬고 출근하자마자 에러 떠서 오전 내내 고생했지만 해결되어서 다행이다 ㅎㅎ
'WebPublisher > Git' 카테고리의 다른 글
| git stash 후 충돌 해결 (force로 파일 강제 삭제) committing is not possible because you have unmerged files (0) | 2025.06.23 |
|---|---|
| [Git] 커밋 삭제하기 git reset, git revert (0) | 2024.08.09 |
| [Git] 마지막 커밋 취소하기 (0) | 2024.08.09 |
| [Git] Module Not Found 에러메시지 (0) | 2024.06.20 |
| [Git] 브랜치 생성, 이름 변경, 전환, 로컬 삭제 및 원격 삭제 (0) | 2024.06.11 |

