새 컴퓨터로 개발 환경을 구축하면서 처음 깃허브에 커밋을 하려고 하니, 역시 실패했다.
뭔가 복잡한 설정 절차를 거쳤던 기억이 어렴풋이 있어서 실패할 거라고 예상은 했다.
오늘의 포스트는 그 삽질하는 과정을 전부 그대로 보여주면서 해결 방법을 알려주려고 한다.
VSCode에서 깃허브 연동 및 사용법 (커밋/푸시 명령어)
VSCode와 깃허브를 연동하기 위해서 지금 링크한 포스트의 과정을 그대로 따라 하고 있었다.
그런데 Remote > Add Remote... 를 클릭한 후, 복사한 SSH key를 붙여 넣고 enter, 그리고 'origin'을 입력하고 enter 키를 누르자 평소에는 보이지 않던 메시지가 나타났다.
yes를 선택했다.
일단 무시하고 Cancel 버튼이나 X를 클릭한다.
첫 커밋을 시도해보자.
그러면 이런 창이 뜬다.
첫 커밋을 하면 항상 나타나는 창이다.
Yes 버튼을 클릭하자.
에러가 떴다.
이 에러는 새 컴퓨터에 Git을 설치한 후, 이 코드를 작성한 사람이 누구인지 정보를 등록하지 않아서 발생하는 에러다.
Git은 모든 기록(커밋)에 작성자의 이름과 이메일을 함께 저장하기 때문에 이 설정이 없으면 커밋을 허용하지 않다.
VSCode의 터미널 창을 열고 아래 명령어를 한 줄씩 입력하자. (큰따옴표는 유지한 채로)
- 사용자 이름 등록:
git config --global user.name "사용자 이름" - 사용자 이메일 등록:
git config --global user.email "본인의 깃허브 이메일 주소"
명령어에 --global 옵션을 사용하면 컴퓨터 전체 설정으로 저장되어, 다른 프로젝트를 할 때마다 다시 등록할 필요가 없다.
설정을 마친 후 git config --list 명령어를 입력하면 이름과 이메일이 잘 들어갔는지 확인할 수 있다.
다시 푸시를 시도했는데, 또 안된다.
Create Fork 버튼을 클릭한다.
Allow를 클릭한다.
깃허브 웹사이트가 뜨게 된다.
Continue 버튼을 클릭하자.
Authorize Visual-Studio-Code 버튼을 클릭한다.
깃허브의 패스워드를 입력한다.
'Visual Studio Code 열기'를 클릭한다.
그리고 다시 푸시를 시도했지만, 역시 안된다.
이다음 과정은 캡처하지 않았는데, VSCode의 터미널에서 푸시를 시도해 보기 위해 git push -u origin main을 입력했다.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
이 메시지는 새 컴퓨터가 깃허브 서버에 접속하려고 시도했지만, 깃허브가 "너를 증명할 열쇠(SSH Key)가 없어서 들여보내 줄 수 없다"라고 거절한 상태다.
아까 VSCode를 통해 '로그인'을 했지만, 현재 리모트 설정이 SSH 방식(git@github.com:...)으로 되어 있기 때문에 별도의 SSH 키 등록 과정이 필요한 것이다.
새 SSH 키 생성 및 ssh-agent에 추가 - GitHub 문서
SSH 키 등록이 오랜만이라 가물가물해서 이 문서를 찾아서 보고 따라 했다.
VSCode의 터미널에서 ssh-keygen -t ed25519 -C "본인의 깃허브 이메일 주소"를 입력하자.
이번에도 역시 큰따옴표는 유지한 채로 입력한다.
그러고 나면 두 번 정도 질문이 더 나올 거다.
키를 사용할 때마다 입력할 비밀번호를 설정할지 묻고, 비밀번호를 다시 묻는 확인 절차가 나온다.
비밀번호 없이 사용할 거면 그냥 두 번 다 enter를 누르자.
그다음에는 깃허브에 등록할 키Key를 복사해야 한다.
터미널에 아래 명령어를 입력해 보자.
cat ~/.ssh/id_ed25519.pub
그러면 터미널에 긴 문자열이 나올 텐데, 그 부분을 마우스로 긁어서 복사한 뒤 깃허브 설정 페이지에 등록하면 드디어 끝이다.
키 타입은 'Authentication Key'를 선택하자.
그리고 다시 푸시를 시도해 보면 성공할 거다.
컴퓨터를 새로 살 때, 개발 환경을 다시 구축해야 하는 게 두려웠다.
역시 힘들고 귀찮은 일이었다.












0 Comments
댓글 쓰기
🔸 댓글은 블로그 운영자의 승인 후에 블로그에 표시됩니다.
🔸 비로그인 방문자 분께서는 '익명'보다 이름/URL로 댓글을 남겨주시면 감사하겠습니다. (URL은 생략 가능합니다.)
🔸 구글 로그인 방문자는 '알림 사용'에 체크를 하시면, 남겨주신 댓글에 대한 답글 알림을 메일로 받아볼 수 있습니다. 📩