본문 바로가기
DevelopmentTools/Git

지옥에서 온 문서관리자 3

by 수짱수짱 2022. 1. 14.

Day3

04. 깃허브로 백업하기


지역 저장소(local repository) : 자신의 컴퓨터에서 작업한 뒤 그 컴퓨터 안에 커밋을 저장한 저장소

원격 저장소(remote repository) : 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소

 

깃(Git)을 이용하면 이 지역 저장소와 원격 저장소를 연결하여 버전 관리하는 파일을 쉽게 백업할 수 있다. 

깃과 관련해 가장 많이 사용하는 원격 저장소 서비스가 바로 깃허브(GitHub)이다.

 

<깃허브 장점>

- 깃허브가 아닌 다른 클라우드 디스크에 백업할 수도 있지만 깃허브에 백업하면 원격 저장소에 손쉽게 커밋할 수 있다.

- 지역 저장소를 백업할 수 있다.

- 협업 프로젝트에 사용할 수 있다.

- 자신의 개발 이력을 남길 수 있다.

- 원격 저장소에서 깃을 사용할 수 있다.

- 다른 사람의 소스를 살펴볼 수 있고 오픈 소스에 참여할 수 있다.

 


지역 저장소에 있는 파일을 원격 저장소로 올리는 방법

 

1. 커맨드 라인에서 기존 저장소를 푸시하기

git remote add origin 주소

: remote는 원격 저장소를 의미한다. origin은 깃허브 저장소 주소를 가리킨다. 주소를 그대로 쓰면 너무 길기 때문에 origin으로 대체해서 remote에 add(추가)하는 것이다.

 

원격 저장소(remote)에 연결됐는지 확인하는 방법 - git remote -v


푸시(push) : 지역 저장소의 소스를 원격 저장소로 올리는 것

풀(pull) : 원격 저장소에서 지역 저장소로 내려받는 것

 

<원격 저장소에 파일 올리기 - git push>

git push -u origin master main

: 원격 저장소의 master 브랜치로 푸시하는 명령, -u 옵션은 지역 저장소의 브랜치를 원격 저장소의 master 브랜치에 연결하기 위한 것으로 처음 한 번만 사용하면 된다. 현재 이 글쓰는 시점부터는 master를 사용하지 않고 main으로 사용한다.

 

한 번이라도 지역 저장소와 연결해서 push했다면 그 다음부터는 더 간단하게 push할 수 있다. 변경 사항을 저장하고 스테이징+커밋을 한다면 새로운 커밋이 생성될 것이다. 이를 원격 저장소로 푸시하려면 앞에서 이미 지역 저장소의 브랜치와 origin의 master 브랜치를 연결했기 때문에 다시 파일을 푸시할 때는 git push만 입력하면 된다. 


 

<원격 저장소에서 파일 내려받기 - git pull>

원격 저장소와 지역 저장소의 상태를 같게 만들기 위해 원격 저장소의 소스를 지역 저장소로 가져온다. = pull(풀) 한다.

 

git pull origin master = git pull

: 원격 저장소(origin)의 내용을 master 브랜치로 가져온다. 기본 원격 저장소가 origin이고 지역 저장소의 기본 브랜치가 master이기 때문에 git pull까지만 입력해도 풀이 된다.

 

pull하면 지역 저장소 커밋 로그에도 깃허브 사이트에서 만들었던 커밋이 나타나는 것을 확인할 수 있다 - git log 

 


깃허브에 SSH 원격 접속하기

 

SSH란 Secure Shell의 줄임말로 보안이 강화된 안전한 방법으로 정보를 교환하는 방식이다. SSH에서는 프라이빗 키(Private Key)와 퍼블릭 키(Public Key)를 한 쌍으로 묶어서 컴퓨터를 인증한다. 퍼블릭 키는 외부로 공개되는 키, ㅡ라이빗 키는 아무도 알 수 없게 사용자 컴퓨터에 저장되는 키이다.

 

SSH원격 접속은 프라이빗 키와 퍼블릭 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식이다. 이렇게 인증한다면 터미널 창을 이용할 수 있는 상태라면 언제 어디서든 깃허브에 접속할 수 있다. 이 키들은 SSH 키 생성기를 통해 만들 수 있다 - ssh-keygen 명령어