본문 바로가기
git

<12> 생활코딩 - GIT

by ChaeLOTUS 2022. 12. 3.
728x90
Git - 동기화 방법(Github)

이번 강의에는 하나의 원격 저장소를 중심으로 해서 두 개의 지역 저장소가 하나의 원격 저장소를 중간 매개로 해서 작업을 동기화 하는 모습을 배운다.

우선 저장소를 두개 만든다.

집과 회사에서 사용한다는 의미로 git_home, git_office라는 이름으로 지어본다.

 

**지역저장소에 있는 내용을 바꾸는 것은 자신의 컴퓨터에 있는 동안에만 해야되고 그 이후에는 하면 안된다라고 생각하자.

push를 한 이후의 내용은 수정하지 말자.

 

git__home , 집에서 프로젝트를 하다가 회사에서 하는 경우.

git__home 에서 파일의 내용을 추가하고 커밋함. push 하여 저장소로 올림.

 

이제 회사에서 작업을 시작하기 전에는 항상 무얼 먼저 시작하냐.

git pull : 지역 저장소 입장에서 원격 저장소에 있는 내용을 땡겨온다라는 의미.

이렇게 적절하게 push와 pull을 사용하여 작업.

 

이렇게 작업하면 여러가지 효과들이 생기는데 가장 중심적인 효과는 백엽이 된다는 것이다.

깃은 버전과 소스코드 모두를 원격 저장소에 다 올리기 때문에 

그리고 모든 저장소들은 버전에 대한 모든 정보를 각자 다 가지고 있기 때문에  소스 코드를 잃어버릴 가능성은 없다.

 

ssh 이용해서 로그인없이 원격저장소 사용하기(Github)

Secure Shell 줄여서 ssh라고 하는 것을 통해 우리가 원격저장소에 접근하는 방법을 살펴보자.

 

우리가 원격 저장소를 사용할 때 어떻게 그 저장소의 주소를 따냈냐면

이렇게 옵션이 있다.

ssh의 아주 중요한 장점은 깃에서 로그인을 햘 때마다 할 필요가 없어진다.

 

 

ssh-keygen

위의 명령을 입력하면 경로를 잘 확인하고 엔터를 3번정도 치면

이런 화면이나오고 ssh를 통해서 다른 컴퓨터로 접속할 수 있는 비밀번호가 생긴다.

여기서 비밀번호는 기계적으로 굉장히 복잡한 비밀번호를 만든것이기 때문에 .

그 비밀번호가 어디에 저장됐는지는 위의 사진의 /Users/parkchaeyeon/.ssh/id/rsa 여기에 이 경로에 있다. (자신의 홈디렉토리)

그리고 위의 사진에 보이는 것과 같이 .ssh 밑에 id_rsa와 id_rsa.pub라는 파일이 생겼다.

 

파일의 위치에 가보자.

cd 뒤에 경로를 복붙해도 되지만 귀찮으니 

~ => 이 물결의 의미는 자신의 홈디렉토리를 가리킨다. /Users/parkchaeyoen/ 

cd ~/.ssh 로 이동해서 ls -al을 해보니 두개의 파일이 생겼다.

이 두개의 파일은 위의 사진처럼 분리된다. 각각 private key와 public key가 저장되어 있다.

 

 그리고 ssh를 통신할 때에는 사진에 밑의 노트북이 나의 컴퓨터라고 치고 내가 접속하고자하는 컴퓨터는 위쪽에 있는 서버 컴퓨터라고 하면 private key는 내 컴퓨터에 저장이 되고 public key는 나의 컴퓨터에 저장되어있던 id_rsa.pub파일을 카피해서 내가 접속하고자 하는 컴퓨터에 접속한 다음 일정한 데릭토리에다 넣어주면 된다.

그렇게 되면 내 컴퓨터가 가지고 있는 id_rsa파일을 만들때 같이 생성된 id_rsa.pub파일이 저장되어 있는 컴퓨터에 접속할 때 내가 비밀번호를 입력하지 않고도 두 대의 컴퓨터 사이의 복잡한 과정을 거쳐서 안전하게 로컬 컴퓨터가(내컴퓨터) 서버 컴퓨터에 자동 로그인을 해준다.

그리고 자신의 로컬 컴퓨터에 있는 private key는 절대로 노출되면 안되고, 자신의 public key는 자기가 접속하고자 하는 컴퓨터에 저장해 놓으면 자동 로그인이 가능하다.

 

 

 

 

그럼 어떻게 id_rsa.pub라는 파일을 서버 컴퓨터에다가 원격저장소가 존재하는 컴퓨터에 넣을 것인가.

그건 서버 컴퓨터에 접속하고 그 서버컴퓨터에 규칙에 따라 저장하면 되고 우리가 지금 사용하는 원격 저장소는 github라는 온라인 서비스를 사용하고 있기 때문에 우리가 직접 서버 컴퓨터에 접속하는 복잡성은 감당하지 않아도 되겠다.

github이 제공하는 웹사이트를 통해서 public key를 저장하면 된다.

 

일단 id_rsa.pub의 내용을 화면에 출력해보자.

그때 사용하는 명령어는 cat.

화면에 key가 출력되면 복사해서 github 로 가서 프로필을 누르고 setting라는 카테고리를 클릭한다.

여러가지가 나오는데 왼쪽 항목에 SSH and GPS keay 이 곳을 통해 나의 공개키를 저장할 수 있다.

 

그럼 우리가 웹을 통해서 나의 서버 컴퓨터인 github 원격저장소에 나의 public key를 저장한 것이다.

그 public key는 나의 지역 저장소에 있는 id_rsa와 서로 짝꿍이다.

그렇기 때문에 id_rsa private key를 가지고 있는 사람은 id_rsa.pub라고 하는 public key 가지고 있는 사람의 컴퓨터에 접속할 수 있다라는 규칙 or 약속이 되어있기 때문에 이제 접속이 가능해 진다.

 

 

잘 되었는지 확인하기 위해 저장소를 만들어보자.

저장소를 만들고 SSH를 클릭하면 주소가 나온다. 이걸 copy한다.

그리고 git으로 돌아가 

git clone [ssh링크] [파일이름]

을 하고 yes라고 입력한다.

그 파일로 들어가서 

그리고 파일을 만들어 내용을 입력하고 add,commit 한 다음

중요한 것! git push     push가 잘 된다면 ssh key 즉, id_rsa와 id_rsa.pub 두개의 서로 짝을 이루고 있는 비밀번호들을 이용해서 자동으로 내 컴퓨터가 로그인해서 내가 작성한 코드를 업로드 해주고 있는 것이다.

 

 

728x90

'git' 카테고리의 다른 글

<14> 생활코딩 - GIT  (0) 2022.12.03
<13> 생활코딩 - GIT  (0) 2022.12.03
<11> 생활코딩 - GIT  (0) 2022.12.02
<10> 생활코딩 - GIT  (0) 2022.12.02
<9> 생활코딩 - GIT  (0) 2022.11.28

댓글