내 잡다한 노트

Git merge 본문

Git

Git merge

peanutwalnut 2023. 3. 27. 13:18

다른 브랜치에서 했던 작업과 합치는 명령어

 

# 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