[Git] 브랜치 병합의 두가지 방법

go_go_·2022년 10월 2일
0

Git

목록 보기
3/12
post-thumbnail

📖 브랜치 병합 방법

브랜치를 병합하는 방법은 두 가지가 있다.
1. Fast-forward
2. 3-way Merge

  1. Fast-forward : 새 커밋을 만들지 않고 병합하려는 커밋을 가르킨다.
  2. 3-way Merge : 새 커밋을 만들어 병합한다.

둘의 차이를 알아보기 위해 아래 예시를 보자.


🔎 브랜치 예시

아래 예시에서 병합은 모두 master에서 진행한다.

다음과 같은 예시를 보자.

현재 master의 최신 커밋 상태는 ver3이다.


  • 여기서 새로운 브랜치 브랜치1을 만들었다.

  • 브랜치1은 계속 작업을 이어나간다.

  • 급하게 처리할 작업이 있어 브랜치2를 만들고 작업을 이어나갔다.

  • 브랜치2의 작업이 끝나고 master와 병합했다. 병합은 master에서 진행하였다.

📌 Fast-forward

  • 여기서 브랜치2의 조상 커밋이 ver3로 master가 가르키는 커밋이다. 이 경우 master는 브랜치2가 가리키는 커밋으로 바꾸며 새로운 커밋을 생성하지 않는다. 이 경우를 Fast-forward 병합 방식이다.

  • 브랜치2를 삭제하고 브랜치1작업을 이어나간다. 이후 브랜치1작업을 끝내고 master와 병합을 한다. 병합은 master에서 진행한다.

📌 3-way Merge

  • 브랜치1의 조상 커밋과 master 커밋이 같지 않다. 이 경우 ①master와 브랜치1의 공통 조상 커밋 ②master커밋 ③브랜치1커밋 총 3개를 합병하여 새로운 커밋 커밋6을 생성한다. 이를 3-way Merge 라고 한다.

최종 모습이다.



출처
https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EC%99%80-Merge-%EC%9D%98-%EA%B8%B0%EC%B4%88

profile
개발도 하고 싶은 클라우드 엔지니어

0개의 댓글