독서

[지옥에서 온 관리자 깃&깃허브 입문] 4장. 깃허브로 백업하기

찐공log 2022. 1. 21. 12:18

2022.01.21 - [독서/IT・컴퓨터] - [지옥에서 온 관리자 깃&깃허브 입문] 3장. 깃과 브랜치

 

[지옥에서 온 관리자 깃&깃허브 입문] 3장. 깃과 브랜치

2022.01.21 - [독서/IT・컴퓨터] - [지옥에서 온 관리자 깃&깃허브 입문] 2장. 깃으로 버전 관리하기 1. 브랜치란? 깃으로 버전관리 시 기본적으로 master 라는 브랜치가 생성됩니다. master브랜치를 유지

zzingonglog.tistory.com

 

드디어 깃허브(github)를 배울 시간입니다.😁

지금까지 지역 저장소에 저장을 했었다면 이제는 인터넷상에 저장할 수 있는 서비스 중 가장 많이 사용하는 깃허브 알아봅시다!

 

 

 

1. 원격 저장소와 깃허브

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

원격 저장소(=깃허브와 같은 서비스) 는 지역 저장소와 연결되어 있으면서 백업과 협업의 역할을 합니다.

날짜별로 개발 이력도 남길 수 있습니다. 또한 오픈 소스에 참여할 수도 있어요.

 

 

 

2. 깃허브 시작하기

(1) 깃허브 가입하기

우선 깃허브에 가입을 하시고요.

https://github.com/

 

GitHub: Where the world builds software

GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

공부할 목적이나 개인프로젝트를 관리할 목적이라면 무료 계정으로도 충분하다고 하니 free 를 선택하시면 됩니다.

저의 깃허브 주소는 https://github.com/zzingongLog 입니다.😁

 

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

원격 저장소를 만들기 위해 오른쪽 상단의 + 를 누르고, New repository를 선택합니다.

저장소 이름을 적고 Create repository 클릭하면 끝입니다.

 

 

 

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

테스트로 지역 저장소와 원격 저장소 연결을 해보겠습니다.

깃허브의 원격 저장소에 연결할 loc-git이라는 지역 저장소를 만들고 파일 하나를 커밋합니다.

 

원격 저장소(깃허브)에 지역 저장소를 연결하려면 깃허브 여러가지 접속 방법 중

'커맨드라인에서 기존 저장소를 푸시하기'라는 방법이 있습니다.

지역 저장소와 원격 저장소를 연결하려면 깃허브의 저장소 주소를 알고 있어야 합니다.

깃허브 저장소 주소 확인하기
git remote add origin 복사한 주소 붙여넣기
 

원격 저장소에 origin을 추가하겠다고 깃에게 알려줍니다.

origin은 깃의 master브랜치와 같은 의미로 기본 원격저장소에서 사용하는 이름입니다.

처음 한번만 이렇게 연결해주면 됩니다.

원격저장소에 제대로 연결되었다면 git remote -v로 확인해볼 수 있습니다.

 

 

 

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

(1) 원격 저장소에 파일 올리기

지역 저장소에서 원격 저장소로 올리는 것을 푸시(push), 원격 저장소에서 지역 저장소로 내려받는 것을 풀(pull)이라고 합니다.

먼저 지역 저장소의 커밋을 원격 저장소로 푸시를 해봅시다.

지역 저장소를 origin(즉 원격 저장소의 master) 브랜치로 푸시하라는 명령입니다.

git branch -M master
git push -u origin master
 

git branch -M master 는 지역저장소 현재 브랜치를 master브랜치로 변경한다는 뜻입니다.

git push의 -u 옵션은 지역 저장소의 브랜치를 원격 저장소의 master브랜치(origin)에 연결하기 위한 것으로 처음 한 번만 사용됩니다.

단 이부분은 현재 책과 다른 부분이 있습니다!

username 과 패스워드를 요구하는데 단순히 깃허브 아이디와 패스워드를 입력하면 안되도록 보안정책이 바뀌었습니다.

비밀번호를 토큰으로 입력해야합니다.

Settings 클릭

 

그러면 화면의 우측 하단에 Developer settings 를 클릭합니다.

그리고 Generate new token을 하게 되면 아래와 같은 화면이 뜨는데 이름을 정하고 기간은 없도록 선택합니다. 그리고 모두다 체크를 해주세요.

그러면 비밀번호 토큰이 생성되는데, 그것을 복사해두세요.

그리고 나서 깃을 맨 처음 설정했을 때 아무렇게나 설정했었던 이름과 메일주소를 깃허브에 가입했을 때 등록했던 아이디와 이메일로 변경해주어야 합니다.

git config --global user.name "깃허브 아이디" 
git config --global user.email "깃허브 가입시 메일주소"
 

그리고 이제 첫 푸시 명령어를 입력하고 깃허브아이디와 아까 복사했던 토큰을 붙여넣으면 됩니다.

지역 저장소의 커밋이 원격 저장소로 정상적으로 올라갔습니다.

이 챕터는 책 내용과 살짝 다른데 아무래도 책이 2021년 1월 4쇄본이라서 그런지 변화된 부분은 감안하셔야 할 것 같습니다.

 

cf) 깃허브 도움말

https://docs.github.com/en/get-started/quickstart/hello-world

 

 

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

지역저장소가 있는 컴퓨터를 사용할 수 없을 때 직접 깃허브 웹에서 커밋할 수 있습니다.

깃허브에서 직접 create new file을 하면 됩니다.

f2.txt를 생성해보았습니다.

 

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

원격 저장소에서 수정이 일어난 파일들을 지역저장소로 풀(pull)하여 내려받을 수 있습니다.

git pull origin master
 

origin의 내용을 master 브랜치로 가져온다는 의미입니다.

이런 경우 그냥 git pull만 해도 됩니다.

로그를 확인해보면 아래와 같이 f2 파일을 가져온것을 확인 가능합니다.

 

 

 

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

SSH : Secure Shell 이라는 방법을 통해 깃허브에 접속하는 방법을 알아봅시다.

SSH는 보안이 강화된 안전한 방법으로 정보를 교환하는 방식입니다.

프라이빗 키(Private Key)와 퍼블릭(Public Key) 키를 한 쌍으로 묶어서 컴퓨터를 인증합니다.

사용자의 컴퓨터에서 SSH 키 생성기를 실행하면 프라이빗 키와 퍼블릭 키가 만들어집니다.

 

SSH원격 접속은 프라이빗키와 퍼블릭 키를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식입니다.

즉 내 노트북기기나 서버를 깃허브에 등록해두면 터미널 창으로 언제든 접속이 가능합니다.

또한 SSH를 이용하면 자동 로그인 기능을 통해 깃허브 아이디와 비밀번호를 입력하지 않고 편리하게 접속할 수 있습니다.

 

(1) SSH 키 생성하기

터미널 창에서 홈 디렉터리로 이동(cd ~)한 후 ssh-keygen 을 입력합니다.

파일 이름을 입력하라고 하면 그냥 엔터를 누릅니다.

두번 더 엔터를 누르면 화면에 SSH를 통해서 다른 컴퓨터에 접속할 수 있는 비밀번호가 생성됩니다.

.ssh 디렉터리는 홈 디렉터리 하위에 만들어지므로 터미널창에 아래와 같이 입력하고 키를 잘 만들었는지 확인해봅니다.

cd ~/.ssh

ls -al

id_rsa : 프라이빗 키

id_rsa.pub : 퍼블릭 키

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

깃허브에 ssh방식으로 접근하려면 먼저 사용자 컴퓨터에 만들어져 있는 퍼블릭 키를 깃허브 서버로 전송한 다음 저장해야 합니다.

car으로 퍼블릭키를 출력한 다음 키를 복사하여 깃허브 내 아이디 프로필의 ssh키를 입력하는 메뉴에다 등록합니다.

여기서 New SSH key 버튼을 클릭.

제목과 키를 등록하고 Add SSH key 버튼을 누릅니다.

이제 SSH키를 만들었던 컴퓨터는 깃허브 저장소의 SSH주소만 알고 있으면 로그인 정보를 입력하지 않고도 즉시 그 저장소에 접속할 수 있습니다.

 

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

테스트를 위해 깃허브에서 새로운 저장소를 만들고 SSH주소를 복사합니다.

새로운 지역저장소를 만들고 원격저장소와 연결을 할 때 SSH주소를 붙여넣으면 됩니다.

이제 SSH 방식으로 접속해보겠습니다.

새로운 저장소로 테스트해볼게요.

SSH로 연결을 해두면 원격 저장소를 사용하는 동안 로그인 정보를 요구하지 않기 때문이 편하게 푸시나 풀을 할 수 있습니다.