recordingbetter's devlog

Python, Django, DRF, Postgresql, AWS, Docker....

GIT Branch

25 May 2017


Git 브랜치

  • 버전의 가지
  • 협업을 하기위해필수

브랜치 만들기

$ git branch [이름]
$ git branch -v 					// 브랜치 리스트 확인
$ git checkout -b [브랜치이름]	// 브랜피를 만들고 그 브랜치로 이동

  • 브랜치는 커밋을 가르킴
  • 태그도 브랜치와 같이 커밋을 가르킴.
  • 커밋은 스냅샷을 가르킴.
  • 스냅샷은 blob의 데이터를 가지고 있음

작업 브랜치 변경

$ git checkout [브랜치이름]
  • 브랜치를 변경하면 해당 브랜치가 가지고 있는 커밋으로 이동.
  • 해당 브랜치가 가지고 있는 커밋 버전으로 로컬 파일이 바뀜

브랜치 이름 변경

$ git branch - [기존이름] [새이름]

Merge

$ git merge hotfix
  • 현재 브랜치에 hotfix의 변경 내용을 merge
  • production에서 $ git merge hotfix 하면 hotfix가 production으로 합쳐짐

브랜치 삭제

$ git branch -d [삭제할 브랜치]

파일 충돌 conflict

같은 파일이 수정된 브랜치를 merge할 경우, 해당 파일을 수정하라고 메세지가 뜨며, 파일 내부에 브랜치 별 내용을 구분해놓음.

$ git status 충돌이 일어난 내용 확인. 해당 파일 내용을 정리한 뒤에 $ git add$ git commit 하면 merge 됨.

fetch / pull

  • fetch 리모트에 있는 내용을 로컬로 받아옴. 로컬과 merge 하지 않음
  • pull 리모트에 있는 내용을 로컬로 받아오면서 merge 작업까지 함.
$ git push origin serverfix:serverfix
  • “로컬의 serverfix 브랜치를 리모트 저장소의 serverfix 브랜치로 Push 하라” 라는 뜻이다.

리모트에서 브랜치 삭제

$ git push origin --delete serverfix

rebase

blog comments powered by Disqus