gitlab.com 등에서 repository를 생성 후 local repository와 remote repository를 연결하는 과정이 필요하다. 이때 git remote를 사용한다. origin이라는 이름으로 git 주소를 등록한다고 생각하자.
git remote add origin "연결하려는 원격지의 git 주소"
git push -u
local repository의 내용을 remote repository에 넣기 위해 git push 명령을 이용한다. origin의 master branch에 넣는다.
$ git push -u origin master
그런데 이 과정에성 생각지 못한 오류가 발생했다. 이 포스트를 쓰고 있는 이유다. ㅜㅜ
git@gitlab.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-keygen
서버에 ssh 키를 등록해줘야 하는데 먼저 키를 만들어보자.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\itsme/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\itsme/.ssh/id_rsa.
Your public key has been saved in C:\Users\itsme/.ssh/id_rsa.pub.
...
질문들에 대해 계속 엔터로 응수하면 최종적으로 public key가 생성되고 위치가 출력된다. text editor로 id_rsa.pub 파일을 연다.
이제 gitlab.com 등 사이트로 로그인 후 User Settings > SSH Keys 메뉴로 이동해 key 부분에 id_rsa_pub 내용을 붙여 넣고 Add Key를 클릭한다.
이제 다시 push 처리를 하면 잘 반영되는 것을 볼 수 있다.
$ git push -u origin master
Enumerating objects: 386, done.
Counting objects: 100% (386/386), done.
Delta compression using up to 8 threads
Compressing objects: 100% (293/293), done.
Writing objects: 100% (386/386), 173.12 KiB | 2.22 MiB/s, done.
Total 386 (delta 80), reused 0 (delta 0)
remote: Resolving deltas: 100% (80/80), done.
To gitlab.com:stgray22/spring-boot-zip.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.