반응형
Git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 Merge와 Rebase가 있다.
둘을 실행해보게 되면 Merge와 Rebase의 실행결과는 같지만 커밋 히스토리가 달라진다.
Merge는 쉽고 안전하지만 커밋히스토리가 지저분할 수 있다 반면 Rebase는 잘 모르고 사용할 경우 위험할 수 있어 까다롭지만 커밋히스토리를 깔끔하게 관리할 수 있다.
Rebase는 base를 새롭게 설정한다는 의미로 이해하면 좋다.
Rebase와 Merge의 차이점
먼저 작업에 대해서는 아래 그림처럼 master와 experiment 가 각각의 형상으로 작업이 되어있다고 가정을 하면.
Merge로 통합하기
이 두 브랜치를 합치는 가장 쉬운 방법은 merge 명령을 이용해 3-way Merge로 새로운 커밋을 만들어내는 것이다
이 때 내부적으로 공통조상인 C2를 이용하게 된다.
Rebase로 통합하기
두 브랜치가 나뉘어 있는 아까와 같은 상황에서 시작을 한다.
experiment 브랜치로 이동해 master를 base삼아 Rebase 하겠다는 의미라고 이해하면 된다.
시작은 같지만 통합하는 과정에서 rebase는 변화된것을 기반 삼아서 바꾼다고 생각을 하도록 하면 쉽다.
git에 대한 내용은 아래 참고 포스팅에서 좀 더 알수 있다.
참고 포스팅
https://thenicesj.tistory.com/98
https://thenicesj.tistory.com/506
반응형
'IT > GIT.SVN' 카테고리의 다른 글
Git Flow 란? (47) | 2023.06.27 |
---|---|
git 명령어 (21) | 2023.04.05 |
[git] commit 과 push 의 차이점 (32) | 2023.03.07 |
Git Bash ? (41) | 2022.11.06 |
git ignore 파일 관련 (34) | 2022.06.25 |
댓글