본문 바로가기
IT

[스터디노트 - 2일차] Do it! 지옥에서 온 관리자 깃&깃허브 입문 / 3장~4장 / 깃과 브랜치, 깃허브로 백업하기

by 이세진 2020. 11. 29.

지난번에 이어서 <Do it! 지옥에서 온 관리자 깃&깃허브 입문> 스터디를 진행하겠습니다.

 

2020/11/23 - [IT] - [스터디노트 - 1일차] Do it! 지옥에서 온 관리자 깃&깃허브 입문 / 1장~2장 / 깃 기초

 

오늘 주제는 깃과 브랜치, 깃허브로 백업하기 입니다.

 

 

 

3장. 깃과 브랜치

03-1. 브랜치란?

  • 깃으로 버전 관리를 시작하면 기본적으로 master라는 브랜치가 만들어짐
  • 브랜치는 커밋을 가리키는 포인터

 

03-2. 브랜치 만들기

새 브랜치 만들기

git branch
git branch apple
git branch # 만들 때, 확인할 때 모두 사용하는 명령어

git log # HEAD는 작업 중인 브랜치를 가리키는 포인터

git branch google
git branch ms

브랜치 사이 이동하기

git checkout apple # 다른 브랜치로 이동

 

03-3. 브랜치 정보 확인하기

브랜치 사이의 차이점 알아보기

git log master..apple # master 브랜치와 apple 브랜치 사이의 차이점 확인 (master 브랜치 기준)
git log apple..master # apple 브랜치 기준으로 비교

 

03-4. 브랜치 병합하기

서로 다른 파일 병합하기

git checkout master
git merge o2 
git log --oneline --branches --graph
빨리 감기 병합(fast-forward merge): master 브랜치에서 브랜치 분기 후 master 브랜치에 아무 변화가 없을 때 병합하는 경우
# 브랜치 병합 시 편집기 열리지 않고 깃에서 지정하는 커밋 메시지 그대로 사용하기
git merge o2 --no-edit

# 커밋 메시지 추가하고 싶을 때
git merge o2 --edit

병합이 끝난 브랜치 삭제하기

git branch
git checkout master
git branch -d o2 # 브랜치 삭제 

# master에 병합하지 않은 브랜치는 삭제 시 오류 발생. 이 때는 -D 옵션으로 삭제 가능
# 삭제한다고 해도 깃 흐름 속에 감추는 개념. 다시 같은 이름으로 브랜치를 만들면 예전 작업 내용이 나타남

 

03-5. 브랜치 관리하기

브랜치에서 checkout과 reset의 작동 원리

git log --oneline --branches
git reset 6c9749d # c2 커밋의 커밋 해시 입력
git log --oneline --branches --graph

수정 중인 파일 감추기 및 되돌리기

git stash list
git stash pop # 가장 최근 항목 되돌리기
git status
# stash 목록에 저장된 수정 내용을 나중에 또 사용한다면
git stash list
git stash apply 
git stash list

# 가장 최근 항목 삭제
git stash list
git stash drop 
git stash list

 

4장. 깃허브로 백업하기

04-1. 원격 저장소와 깃허브

지역 저장소 (local repository)
원격 저장소 (remote repository)

깃허브로 할 수 있는 일들

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

 

04-2. 깃허브 시작하기

깃허브 (http://github.com/) 가입하여 사용하는 내용이라 별도 정리는 생략합니다.

 

04-3. 지역 저장소를 원격 저장소에 연결

지역 저장소 만들기

git init loc-git
cd loc-git
vim f1.txt # a 저장

git add f1.txt
git commit -m "add a"
git log

원격 저장소에 연결하기

git remote add orgin 복사한_주소_붙여넣기
git remote -v # 원격 저장소에 제대로 연결됐는지 확인

 

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

  • Push: 지역 저장소의 소스를 원격 저장소로 올리는 것
  • Pull: 원격 저장소에서 지역 저장소로 내려받는 것

원격 저장소에 파일 올리기

# 지역 저장소의 브랜치를 origin, 즉 원격 저장소의 master 브랜치로 푸시
# -u 옵션은 지역 저장소의 브랜치를 원격 저장소의 master 브랜치에 연결하기 위한 것. 처음 한번만 사용.
git push -u origin master 

(한 번이라도 푸시 했다면) 간단하게 푸시 가능

git commit -am "add b"
git push

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

git pull origin master
git log

 

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

SSH 원격 접속이란

  • SSH는 Secure Shell의 줄임말
  • 보안이 강화된 안전한 방법으로 정보를 교환하는 방식
  • SSH에서는 기본적으로 Private Key와 Public Key를 한 쌍으로 묶어서 컴퓨터를 인증

SSH 키 생성하기

ssh-keygen

# id_rsa: 프라이빗 키
# id_rsa.pub: 퍼블릭 키

cd ~/.ssh
ls -al

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

cd ~/.ssh
cat id_rsa.pub
# 내용 복사 후, 깃허브 홈페이지 우측 사용자 아이콘 - Settings - SSH and GPC keys - New SSH Key에 추가

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

git remote add origin 주소
git remote -v

 

 

마지막 3일차는 5장~6장 스터디로 돌아오겠습니다.

 

관련 Youtube
http://bit.ly/do-it/git3http://bit.ly/do-it-git4

 

반응형

댓글