들어가며
우아한테크코스 프리코스 미션을 진행하면서 git clone을 해야할 일이 많이 생긴다. 하지만 요즘 깃헙이 HTTPS 방식으로 클론을 하게끔 URL을 제공해준다. 그럼 뭐가 문제일까..?!

GitHub이 비밀번호 로그인 방식을 막고 Personal Access Token만 허용하면서, 매번 새로운 레포에 push할 때마다 아이디랑 비번(또는 토큰)을 물어보는 일이 생겼다. 무슨일인지 자세히 알아보자.
들어가며
처음 클론을 받고 origin을 확인해보면 이렇게 되어 있을 것이다👇
> git remote -v
origin https://github.com/geniusjun/java-racingcar-8.git (fetch)
origin https://github.com/geniusjun/java-racingcar-8.git (push)
이러면 HTTPS + GitHub의 비밀번호 인증 차단 정책 때문에 push할 때마다 계속 로그인해야 해서… 솔직히 너무 귀찮다. 😅
Access 토큰을 git config 명령어로 저장해두는 방법도 있지만, 새 레포를 클론할 때마다 다시 연결해줘야 해서 결국 별로다.
🔧 해결법: HTTPS → SSH로 바꾸자 !!
결론은 간단하다 https://를 git@으로 바꿔주면 끝!
git remote set-url origin git@github.com:geniusjun/java-racingcar-8.git
git remote -v
# origin git@github.com:geniusjun/java-racingcar-8.git (fetch)
# origin git@github.com:geniusjun/java-racingcar-8.git (push)
이렇게 한 번만 바꿔두면, 앞으로는 아이디/비밀번호를 묻지 않는다! 🎉
깃헙에 등록해놓은 SSH 키로 자동 인증된다!! 참고로 SSH 인증은 내 로컬의 개인키와 깃헙에 등록한 공개키가 짝을 이루는 방식이다.
(혹시 깃헙에 키 등록을 안해놨다면 아래의 블로그를 참고 하시길 바랍니다.)
하지만 url을 직접 바꿔주는 것도 클론시 처음에만 해주면 되는 나름 편한 방법이지만, 결국 클론하여 새로운 레포를 만들때마다 처음마다 해줘야한다는 뜻이다!!
그래서 나는 아래와 같이 전역적으로 url을 치환하는 설정을 해두었다!
git config --global url."git@github.com:".insteadOf "https://github.com/"
이 한 줄만 설정해두면, 이후부터 git clone https://github.com/ 으로 받아도 자동으로 SSH 주소로 인식돼서 push 시에 로그인 묻지 않을 것이다!
마무리하며
앞으로 미션을 클론할 때마다 문제가 생기지 않도록 이렇게 자동화 시켜놓았다! 그리고 오픈소스를 자세히 볼 때도 결국 클론하여 로컬 IDE에서 보는 것이 편하기에 중요한 설정이라고 생각한다. 미션 3개는 더 클론받아야 하기에(최종코테 포함 제발..) 설정으로 앞으로의 귀찮음을 확 덜었다 😎 정진하자!

'Various Dev > Git&Github' 카테고리의 다른 글
| [Github] Git과 Github 기본 내용들 아주 쉽게 정리해보기 (3) | 2024.11.09 |
|---|