2024/11/24 2

Cherry-pick과 Rebase, Fast-forward - 병합커밋 없이 git history 깔끔하게 하는 방법

Cherry-pick과 Rebase의 공통점 cherry-pick과 rebase는 목적은 다르지만 동작하는 방법이 거의 비슷하다.  두 작업 모두 병렬적으로 작업된 목록을 하나로 합친다는 공통점이 있다. cherr-pick, rebase를 이해하기 위해서는 우선 git이 소스를 합치는 방식인 3 way merge에 대한 이해가 필요하다.  Cherry Pick 이란?cherry-pick은, 병렬적으로 작업된 내용에서 특정 commit을 선택하여 새로운 버전을 만들어 내는 방법이다.  이때 새로운 버전을 만들기 위해 3 way merge를 수행한다. Rebase 란?rebase라는 단어 뜻 그대로, base(각 브랜치들의 공통 조상 commit)를 옮긴다는 뜻이다.  다음 예제를 보자.git checkou..

Dev/Git 2024.11.24

3 way merge 란?

3 Way Merge 의 동작 방식  프로젝트를 진행하는 과정에서 git을 사용하여 버전 관리를 할 때, 일반적으로 기능별로 feature branch를 나누고 작업을 하게 된다.  기능구현의 리뷰가 완료 되면  feature branch를 main branch (혹은 develop)에 merge하게 될 것이다. 이 때 git이 제공하는 병합 방법중에 3 way merge가 있다. 3 way merge는 다음과 같은 세가지 요소를 가진다. 병합대상 브랜치  (A)Base (A,B 브랜치가 공통으로 가지고 있는 마지막 commit)병합 브랜치 (B)만약 내가  어떠한 base 브랜치로 부터 feature/A-branch와 feature/B-branch 생성했고,   A-branch를  B-branch에 m..

Dev/Git 2024.11.24