깃허브로 백업하기

1. 원격 저장소와 깃허브


원격 저장소란

원격 저장소는 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소를 말합니다. 이런 원격 저장소를 제공하는 서비스 중 가장 많이 사용하는 서비스가 깃허브입니다.
지역 저장소는 컴퓨터에서 작업한 뒤 그 컴퓨터 안에 커밋을 저장하는 저장소를 말합니다.

깃허브로 할 수 있는 일들

  • 원격 저장소에서 깃을 사용할 수 있습니다.
  • 지역 저장소를 백업할 수 있습니다.
  • 협업 프로젝트에 사용할 수 있습니다.
  • 자신의 개발 이력을 날길 수 있습니다.
  • 다른 사람의 소스를 살펴볼 수 있고, 오픈 소스에 참여할 수도 있습니다.

cf) 깃허브 사이트의 [Explore] 메뉴에서 Topics, Collection, Trending 등 카테고리마다 인기 저장소들이 분류되어 있어 관심분야를 찾아 공부할 수 있습니다.

2. 깃허브 시작하기


깃허브에 원격 저장소 만들기

로그인한 후 화면 오른쪽 위에 있는 [+]를 누르고 [New repository]를 선택합니다.

  1. Repository name : 저장소 이름을 입력합니다. 영문과 숫자, 언더바, 붙임표 등을 사용할 수 있으며, 공백이 포함되어 있을 경우 자동으로 붙임표로 바꿔집니다.
  2. Description : 저장소에 대한 간단한 설명을 입력합니다.
  3. Public/Private : 저장소의 공개 비공개 여부입니다.
  4. Initialize this repository with a README : 저장소에 대한 소개와 설명을 작성하는 README 파일을 자동으로 만들려면 체크합니다.
  5. Add.gitignore : 어떤 언어와 관련된 것들을 .gitignore 파일에 지정할지 선택합니다.
  6. Add a License : 오픈 소스 프로젝트를 위한 저장소를 만들 경우 해당 오픈 소스의 라이선스를 선택합니다.

저장소를 만들었다면 화면에 나타난 HTTPS주소를 사용해 언제든지 깃허브 저장소에 접속할 수도 있고 파일을 올릴 수도 있습니다.

https://github.com/아이디/저장소명    // 접속 주소 형태


3. 지역 저장소를 원격 저장소에 연결하기


원격 저장소에 연결하기

$ git remote add origin 주소 // 주소는 깃허브 원격 저장소 주소

이 명령은 원격 저장소(remote)에 origin을 추가(add)하겠다고 깃에게 알려주는 것입니다. origin은 깃허브 저장소 주소를 가리킵니다. 깃허브 저장소 주소를 그대로 쓰면 너무 길기 때문에 origin이라는 단어로 줄여서 remote에 추가하는 것입니다.
cf) fatal: remote origin already exists 에러 작동시 $ git remote rm origin 입력후 다시 시도합니다.

$ git remote -v

원격 저장소가 제대로 연결됐는지 확인할 수 있습니다.

4. 원격 저장소에 올리기 및 내려받기


원격 저장소에 파일 올리기

$ git push -u origin master

지역 저장소의 브랜치 origin, 즉 원격 저장소의 master 브랜치로 푸시하라는 명령입니다. 여기에서 ‘-u’옵션은 지역 저장소의 브랜치를 원격 저장소의 master 브랜치에 연결하기 위한 것으로 처음에 한 번만 사용하면 됩니다.

$ git push

위와 같이 -u 옵션을 사용한 이후에는 간단히 git push라고만 입력해도 됩니다.

원격 저장소에서 파일 내려받기

원격 저장소에 있는 소스 파일을 다른 사용자가 수정했거나 깃허브 사이트에서 직접 커밋하면 지역 저장소와 차이가 생깁니다. 이럴 때는 원격 저장소와 지역 저장소의 상태를 같게 만들기 위해 원격 저장소의 소스를 지역 저장소로 가져와야 합니다.

$ git pull 또는 $ git pull origin master

origin(원격 저장소)의 내용을 master 브랜치로 가져온다는 뜻입니다.

5. 깃허브에 SSH 원격 접속하기


SSH 원격 접속이란

SSH는 Secure Shell의 줄임말로 보안이 강화된 안전한 방법으로 정보를 교환하는 방식입니다. SSH에서는 기본적으로 프라이빗 키와 퍼블릭 키를 한 쌍으로 묶어서 컴퓨터 인증합니다. 사용자 컴퓨터에서 SSH 키 생성기를 실행하면 프라이빗 키와 퍼블릭 키가 만들어집니다.
SSH 원격 접속은 프라이빗 키와 퍼블릭 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식입니다. 예를 들어 서버 환경에서 깃허브 저장소에 접속해야 한다면 서버 자체를 깃허브에 등록하고, 개인 노트북으로 접속한다면 노트북을 깃허브에 등록해 둡니다. 이렇게 하면 터미널 창을 이용할 수 있는 상태라면 언제 어디서든 깃허브에 접속할 수 있습니다. 또한 자동 로그인 기능을 통해 번거로움을 줄일 수 있습니다.

SSH 키 생성하기

$ ssh-keygen

SSH 키가 저장되는 디렉터리 경로가 표시되면서 파일 이름을 입력하라고 합니다. 파일 이름을 입력하지 않고 Enter를 누르고 두 번 더 Enter을 누르면 프라이빗 키 경로와 퍼블릭 키 경로가 나오게 됩니다. id_rsa가 프라이빗 키, id_rsa.pub가 퍼블릭 키입니다.

깃허브에 퍼블릭 키 전송하기

퍼블릭 키와 프라이빗 키는 한 쌍이므로 두 개의 키가 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 연결됩니다. 키 생성 경로로 이동한 후 아래 명령을 사용합니다.

$ cat id_rsa.pub

나타난 문자열을 복사합니다. 깃허브 접속한 후 [Settings] - [SSH and GPG keys] - [New SSH key]를 누른 후 현재 등록하는 SSH 퍼블릭 키를 쉽게 알아볼 수 있는 제목을 붙이고 key 항목에는 복사한 퍼블릭 키값을 붙여 넣습니다.

SSH 주소로 원격 저장소 연결하기

새로운 repository를 만들고 저장소의 SSH주소를 복사합니다.

$ git remote add origin 복사한 주소

git remote -v를 통해 어떤 원격 저장소가 연결되었는지 확인할 수 있고 이제부터 원격 저장소를 사용하는 동안 로그인 정보를 요구하지 않기 때문에 편하게 푸시나 풀을 할 수 있습니다.


본 포스팅은 ‘지옥에서 온 문서 관리자 깃 & 깃허브’를 읽고 공부한 내용을 바탕으로 작성하였습니다.


© 2021. By Backtony