평소 git을 써본 사람이라면 merge를 당연히 사용해 봤을 거고
merge를 하면서 발생하는 충돌을 겪어본 사람이 많을거다 그게 바로 나예요~
다시는 실수 없도록 merge에 대해 공부해봤다
Merge 란?
브랜치와 브랜치를 합치는 과정을 말한다.
Merge과정에서 왜 충돌이 일어나는가?
merge할 브랜치가 동일한 코드를 수정했을 경우 발생한다.
Fast Forward Merge란?
브랜치 간 병합 시 현재 브랜치의 Head Commit이 병합하려는 브랜치의 Head Commit으로 이동하는 병합 방식이다.
3-way-merge 란?
내가 작업하는 브랜치의 커밋, 다른 개발자가 작업하는 브랜치의 커밋, 두 브랜치의 공통 분기점이 되는 공통 커밋 세 가지의 커밋이 남게 된다. 이런 경우의 병합을 세 브랜치들을 종합해서 병합한다하여 3-way-merge 라고 한다.
3-way-merge 는 특히나 협업 때 많이 사용하는 merge방법이니 꼭 공부해두자
3-way-merge 방법
git merge [merge할 브랜치 명]
실습을 해보자면
'gitignore 생성' 이라는 커밋에서 main 브랜치에서 내용 수정 후 html 기본구조라는 커밋을 작성하고
docs 브랜치로 이동 후 ff병합이라는 커밋으로 내용을 수정 하고 main브랜치에서 docs 커밋을 merge 시켜봤다.
main브랜치에서 입력한 명령어는 아래와 같다.
git merge docs
이 과정을 bash에서 확인해보면 다음과 같이 나온다.
그래프를 확인해보면 merge가 잘 된 것을 확인 할 수 있다.
'개발 > Git' 카테고리의 다른 글
Git checkout 과 switch의 차이 (3) | 2025.08.18 |
---|