내 잡다한 노트
Git merge 본문
다른 브랜치에서 했던 작업과 합치는 명령어
# merge를 하는 방법
1. Fast-Forward
2. 3-way
Fast-Forward
빨리 감기라는 뜻. 분기가 발생한 이후로 다른 한 브랜치에 작업이 없는 경우
3 - way
분기 이후에 두 브랜치 모두 변경이 발생한 경우에 merge 하는 방법
변경의 기준이 3개이기 때문에 3-way라고 불린다.
main 브랜치 위에서 다른 브랜치를 merge하면 된다.
어쩌면 하다가 conflict 라는 문제가 발생할 수 있다.
이것은 같은 위치를 수정한 경우에 merge를 하면 충돌이 발생하게 된다.
이와 같은 경우, 개발자가 충돌이 발생한 경우를 직접 수정하여 해결해야한다.
# merge의 종류
merge
squash and merge
rebase and merge
merge : 모든 commit들이 merge commit과 함께 merge된다.
squash and merge : 모든 commit들을 하나의 새로운 commit으로 요약하여 merge
git merge --squash <브랜치명>
rebase and merge
base는 분기가 발생한 조상 commit을 의미한다.
rebase는 즉, 분기가 발생한 기준이 되는 base를 변경하는 것을 말한다.
rebase의 장단점
장점 : 브랜치가 일자로 변경되기 때문에 commit 구조가 단순화
단점 : commit ID가 변경된다.
feature 브랜치에서 git rebase main 명령어를 실행.
'Git' 카테고리의 다른 글
git error : does not have a commit checked out (0) | 2023.09.13 |
---|---|
좋은 commit 메세지 작성법 (0) | 2023.04.06 |
되돌리기 revert, cherry-pick (0) | 2023.04.01 |
되돌리기 reset (0) | 2023.04.01 |
Git 명령어 (0) | 2022.05.09 |