Keep going

깃허브로 백업하기 본문

Records/Git Hub

깃허브로 백업하기

코딩천재홍 2021. 2. 15. 04:06

◆ 원격 저장소와 깃허브

 

자신의 컴퓨터에서 작업한 뒤 그 컴퓨터 안에 커밋을 저장했다. 이 저장소를 지역 저장소라고 부른다. 

만약 실수로 지역 저장소를 삭제한다면 그 때까지 작업했던 내용이 다 사라져버릴 것이다.

이렇게 작업 내용을 지역 저장소에만 저장하는 것은 안전하지 않기 때문에 작업하는 컴퓨터가 아닌 다른 곳에 저장 공간을 마련해야 한다.

 

원격 저장소란 

깃에서는 지역 저장소와 원격 저장소를 연결해서 버전 관리하는 파일들을 쉽게 백업할 수 있다. 

원격 저장소는 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소를 말한다.

원격 저장소는 지역 저장소와 연결되어 있으면서 '백업'과 '협업' 이라는 중요한 역할을 한다. 

원격 저장소를 직접 구축할수도 있지만 만들고 유지하는 것이 쉽지 않다. 그래서 인터넷에서 원격 저장소를 제공하는 서비스를 주로 사용한다. 그중에서 깃과 관련해 가장 많이 사용하는 서비스가 바로 깃허브이다.

 


◆ 깃허브 시작하기

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

1. Reposistory name : 저장소 이름을 입력한다. 영문과 숫자, 언더바(_), 붙임표(-)등을 사용할 수 있으며, 공백이 포함되어 있을 경우 깃허브에서 공백을 자동으로 붙임표(-)로 바꾼다.

 

2. Description : 저장소에 대한 간단한 설명을 입력한다. 이 부분은 옵션이므로 반드시 입력하지 않아도 된다.

 

3. Public / Private : 저장소를 공개로 할지 비공개로 할지 선택한다. 공개 저장소는 주소만 알고 있으면 누구나 볼 수 있다. 만일 다른 사람에게 보이지 않는 프로젝트를 관리하고 싶다면 저장소를 만들 때 비공개(private) 저장소로 만들면 된다.

 

4. Initialize this repository with a README : 저장소에 대한 소개와 설명을 작성하는 README 파일을 자동으로 만들려면 체크한다. 

 

5. Add .gitignore : [▼]를 누른 후 어떤 언어와 관련된 것들을 .gitignore 파일에 지정할지 선택한다. 예를 들어 'C++'을 선택한다면 C++에서 사용하는 컴파일된 라이브러리나 실행 파일을 깃에서 무시하도록 자동으로 .gitignore 파일을 만들어 준다.

 

6. Add a License : 오픈 소스 프로젝트를 위한 저장소를 만들 경우 해당 오픈 소스의 라이선스를 선택한다. 

 

 

저장소를 만들었다면 화면에 나타난 HTTPS 주소를 사용해 언제든지 깃허브 저장소에 접속할 수도 있고 파일을 올릴 수도 있다. 즉 저장소 주소만 알고 있다면 어디에서든 지역 저장소를 백업하거나 다른 사람과 협업할 수 있다.

 

# HTTPS로 접속하는 주소는 다음과 같은 형태이다.

https://github.com/아이디/저장소명 

 

 


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

 

지역 저장소 만들기

먼저 깃허브의 원격 저장소에 연결할 새로운 지역 저장소를 만들겠다.

미리 만들어 둔 지역 저장소가 있다면 터미널 창에서 해당 지역 저장소를 열어 놓고 다음 내용인 '원격 저장소에 연결하기'로 이동한다.

 

1. local-git을 줄인 loc-git이라는 이름으로 새 디렉터리를 만들고 지역 저장소로 초기화하겠다. 그리고 디렉터리 안으로 들어가 문서 f1.txt를 만든다.

 

2. f1.txt를 스테이지에 올린 후 커밋한다. 커밋 메시지는 'add a'라고 하겠다. git log 명령으로 커밋이 잘 되었는지 확인한다.

 

원격 저장소에 연결하기

사용자 컴퓨터에 있는 지역 저장소를 깃허브에 있는 원격 저장소와 연결해 보겠다. 깃허브 저장소 화면에서 알려준 여러 가지 접속 방법 중 '커맨드 라인에서 기존 저장소를 푸시하기' 방법을 사용해서 지역 저장소에 있는 파일을 원격 저장소로 올려보겠다.

 

1. 지역 저장소와 원격 저장소를 연결하려면 깃허브의 저장소 주소를 알고 있어야 한다. 웹 브라우저에서 아까 새로 만든 깃허브 저장소에 접속한다.

 

2. 저장소 주소를 복사했다면 터미널 창에 다음과 같이 입력한다.

$ git remote add origin 복사한 주소 붙여넣기

이 명령은 원격 저장소에 origin을 추가하겠다고 깃에게 알려주는 것이다. 여기에서 origin은 깃허브 저장소 주소를 가리킨다. 깃허브 저장소 주소를 그대로 쓰면 너무 길기 때문에 origin이라는 단어로 줄여서 remote에 추가하는 것이다. 이렇게 지역 저장소를 특정 원격 저장소에 연결하는 것은 한 번만 하면 된다.

 

3. 원격 저장소에 제대로 연결됐는지 확인해 보려면 git remote 명령에 -v 옵션을 붙여서 입력해 보면 된다.

다음과 같이 remote 에 origin이 연결되어 있고 origin이 가리키는 주소가 바로 옆에 표시된다.

 


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

지역 저장소와 원격 저장소를 연결했으니 이제부터 지역 저장소의 소스를 원격 저장소에 올릴 수도 있고, 원격 저장소에 있는 소스를 지역 저장소로 내려받을 수도 있다. 

이때 지역 저장소의 소스를 원격 저장소로 올리는 것을 '푸시'라고 하고, 원격 저장소에서 지역 저장소로 내려받는 것을 '풀'이라고 한다.

 

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

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

$ git push -u origin master

 

2. 터미널 창에서 푸시가 진행되는 것을 볼 수 있다. 푸시가 끝나면 프롬프트가 나타난다.

 

3. 푸시가 끝났다는 것은 지역 저장소의 커밋이 원격 저장소로 올라갔다는 뜻이다.

 

4. 파일 목록 위의 '1 commit'을 눌러 보면 지역 저장소에서 커밋했던 내용이 똑같이 올라와 있을 것이다.

 

5. 한 번이라도 지역 저장소와 원격 저장소를 연결해서 푸시했다면 그다음부터는 더 간단하게 푸시할 수 있다. 지역 저장소에서 또 다른 터밋을 만들고 다시 푸시해보겠다. 빔으로 f1.txt를 다시 열고 원래 내용을 수정하고 저장 및 종료한다.

 

6. 다음 명령을 사용해 스테이징과 커밋을 한꺼번에 실행한다. git commit 명령에서 -am 은 스테이징 옵션과 메시지 옵션을 함께 쓴 것으로 최소한 한 번이라도 커밋한 파일이어야 사용할 수 있다. 커밋 메시지는 'add b'라고 하겠다.

 

7. 지역 저장소에 새로운 커밋이 만들어졌으니 원격 저장소로 푸시해보겠다. 이미 앞에서 지역 저장소의 브랜치와 origin의 master 브랜치를 연결했기 때문에 다시 파일을 푸시할 때는 git push라고만 입력하면 된다.

 

8. 방금 만든 커밋이 원격 저장소로 푸시된다.

 

9. 파일 목록에서 파일 이름 오른쪽에 최신 커밋 메시지가 나타나는데, 방금 커밋한 'add b'라는 커밋 메시지가 보인다. 

 

 

깃허브 사이트에서 직접 커밋하기

1. 깃허브의 저장소로 접속한다. Create new file 을 눌러 새로운 파일을 추가한다.

 

2. 맨 위에 파일 이름을 입력한 후 내용을 작성한다. 여기에서는 파일 이름으로 f2.txt, 내용으로 숫자 '1,2,3'을 입력한다.

 

3. 파일 내용을 입력했다면 화면 아래로 이동한다. 기본적인 커밋 메시지가 입력되어 있다. 이 메시지를 그냥 사용하거나 원하는 내용으로 수정한 후 [commit new file]을 누른다.

 

4. 원격 저장소에 새로운 커밋이 추가되었다.

 

 

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

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

 

1. 앞에서 loc-git 지역 저장소를 원격 저장소에 연결한 후 푸시했다. 그리고 깃허브 사이트에서 바로 f2.txt라는 파일을 새로 만들었다. 그러므로 loc-git 저장소에는 아직 f2.txt 파일이 없다. 터미널 창에서 loc-git 디렉터리로 이동한 후 ls 명령을 사용해 디렉터리 안의 내용을 확인해 보겠다. 지역 저장소에서 만든 f1.txt 파일만 있을 것이다.

 

2. 다음 명령은 origin(원격 저장소)의 내용을 master 브랜치로 가져온다는 뜻이다. 

$ git pull origin master

3. 원격 저장소에서 소스 파일을 가져오는 과정이 화면에 나타난다. $가 화면에 표시되면 가져오기가 끝난 것이다.

 

4. git log 명령으로 커밋 로그를 확인해 본자. 깃 허브 사이트에서 만들었던 'Create f2.txt'라는 커밋이 지역 저장소 커밋 로그에도 나타나는 것을 확인할 수 있다.

 


출처 : Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문 [고경희, 이고잉 (이지퍼블리싱)]

'Records > Git Hub' 카테고리의 다른 글

깃허브로 협업하기  (0) 2021.02.15
깃과 브랜치  (0) 2021.02.13
깃으로 버전 관리하기  (0) 2021.02.08
깃 시작하기  (0) 2021.02.07
Comments