KUKJIN LEE
Posted 3 months ago
Merge란? Git에서의 통합 프로세스 이해하기
Merge란 무엇인가요?
Merge는 Git에서 두 개 이상의 브랜치를 하나로 통합하는 과정입니다. 이는 다양한 개발자들이 개별적으로 작업한 코드를 하나의 통합된 코드베이스로 결합하는 데 필수적인 과정입니다. Git에서의 Merge는 협업 개발의 핵심이며, 여러 명의 개발자가 동시에 작업할 수 있게 합니다.
Merge의 종류
Git에서는 다양한 방법으로 브랜치를 병합할 수 있으며, 그 중 가장 일반적인 두 가지는 다음과 같습니다. (Three-Way Merge 집중해야 합니다. 혼자 작업하다보면 Fast-Forward Merge로 이어지는 경우가 많습니다.)
-
Fast-Forward Merge
-
브랜치 사이에 추가된 커밋이 없을 때, Git은 단순히 현재 브랜치를 병합할 브랜치의 커밋으로 "이동"시킵니다.
-
이 방식은 커밋 기록을 깔끔하게 유지하지만, 모든 브랜치가 직선적인 히스토리를 가지게 됩니다.
-
-
Three-Way Merge
-
두 브랜치가 서로 다른 커밋을 가질 때 사용됩니다.
-
Git은 공통 조상(ancestor) 커밋을 기반으로 양쪽 브랜치의 변경 사항을 병합합니다.
-
이 방식은 복잡한 브랜치 히스토리를 허용하며, 여러 개발자가 동시에 작업하는 프로젝트에서 자주 사용됩니다.
-
Merge 과정에서의 충돌 (Conflict) 처리
Merge 과정에서 두 브랜치가 동일한 파일의 동일한 부분을 수정한 경우 충돌(conflict)이 발생할 수 있습니다. Git은 자동으로 병합할 수 없는 경우, 사용자가 수동으로 충돌을 해결하도록 요청합니다.
충돌 해결 방법
즉, 충돌이 발생하면 사용자가 내용을 확인 후 Control해야 합니다.
-
충돌된 파일 확인
-
Git은 충돌이 발생한 파일을 명확히 표시합니다.
-
-
수동으로 수정
-
충돌된 부분을 수동으로 수정하여 올바른 코드를 선택합니다.
-
-
수정 사항 커밋
-
충돌을 해결한 후
git add
명령어로 파일을 스테이징하고,git commit
으로 변경 사항을 커밋합니다.
-
마무리
Merge는 Git에서 협업 작업을 원활하게 진행할 수 있도록 하는 중요한 기능입니다.