branch(브랜치), merge(머지)

bgy·2021년 7월 21일
0

git

목록 보기
2/2

브랜치(나뭇가지, 분기된 흐름) : 특정 커밋을 가리키는 포인터(EX) master, main, develop)

다른 기능을 동시에 개발할 때 각각의 기능 커밋을 가리키거나 합칠 수 있음
개발이 완성된 부분만 master(or main)이 가리키도록 할 수 있음
헤드가 브랜치 가리키고 브랜치가 커밋 가리킴
내 컴퓨터 안에서 브랜치가 가리키는 커밋과 깃허브(깃랩)의 브랜치가 가리키는 커밋 다를 수 있음

git branch 브랜치이름 : 헤드가 가리키는 브랜치와 같은 커밋을 가리키는 브랜치 생성

git checkout 브랜치이름 : 헤드가 입력한 브랜치이름을 가리키도록 함

git log --all --graph

  • --all : HEAD가 가리키는 브랜치뿐만 아니라 모든 브랜치 출력
  • --graph : 브랜치와 커밋의 관계를 그래프 형식으로 출력

나눠진 브랜치 합치기

merge 종류

  • Fast-Foward Merge : 머지당하는 브랜치가 동일 커밋 로그 직선 상에 있던 기준 브랜치의 위치로 죽 당겨지는 머지
  • 특정 시점에서 분기되어 서로 다른 커밋 로그 직선 상에 있어서 아예 새로운 머지 커밋을 생성하는 머지

merge 방법

  1. 합칠 브랜치를 헤드가 가리키게 한다
  2. git merge 합칠 브랜치 : HEAD가 가리키고 있는 브랜치가 가리키고 있는 커밋과 merge 뒤에 쓴 합칠 브랜치가 가리키는 커밋 합치기

merge 중 충돌시 해결 방법

충돌이 난 파일을 열어
merge를 통해 남기고 싶은 코드를 남기고
git add . 후 커밋하기

0개의 댓글