반응형
이번 포스팅에서는 [브랜치와 병합] 파트의 세부 주제인 작업 내용 합치기 (Merge)에 대하여 상세히 알아보겠습니다.

1. Merge의 개념 및 목적
분기되어 개별적으로 진행된 브랜치의 작업 내역들을 다시 메인 코드 라인으로 통합하는 과정을 병합(Merge)이라고 부릅니다. 기능 개발이나 버그 픽스가 완료된 시점에서, 파편화된 소스 코드를 하나로 모으기 위해 필수적으로 거치는 단계입니다.
2. Merge 수행 방법 및 종류
병합을 수행할 때는 항상 코드를 '받아들일' 목적지 브랜치로 먼저 이동(Checkout)한 뒤에, 합쳐질 대상 브랜치를 지정해야 합니다.
# 1. 기준이 되는 브랜치(주로 main)로 먼저 이동
$ git switch main
# 2. 작업이 완료된 브랜치를 main으로 병합
$ git merge feature-login
Git의 병합 방식에는 크게 두 가지가 있습니다.
- Fast-forward Merge: 기준 브랜치에 추가적인 커밋이 없는 상태에서 병합될 때 발생합니다. 새로운 병합 커밋을 만들지 않고 대상 브랜치의 최신 커밋으로 위치만 앞당겨집니다.
- 3-Way Merge (또는 Recursive Merge): 분기된 이후 양쪽 브랜치에 모두 새로운 커밋이 추가되었을 때 발생합니다. 두 브랜치의 공통 조상 커밋을 찾아 비교한 뒤, 새로운 "병합 커밋(Merge Commit)"을 자동 생성하여 합칩니다.
실무 팁:
--no-ff옵션을 붙여git merge --no-ff feature-login명령어를 사용하면, Fast-forward 병합이 가능한 상황이더라도 강제로 병합 커밋을 생성합니다. 이는 특정 기능 개발이 언제 병합되었는지 기록을 남기고 싶을 때 유용합니다.
지금까지 작업 내용 합치기 (Merge)의 개념과 구체적인 활용 방안에 대해 살펴보았습니다. 이어지는 다음 포스팅에서 관련 심화 주제를 지속적으로 다루어보겠습니다.
반응형
'CI.CD > GIT' 카테고리의 다른 글
| [GIT] 히스토리를 선형으로 정리하기 (Rebase) (0) | 2026.07.14 |
|---|---|
| [GIT] 충돌(Conflict) 발생 원인과 해결 가이드 (0) | 2026.07.14 |
| [GIT] 브랜치 만들기 (Branch) (0) | 2026.07.13 |
| [GIT] 불필요한 파일 무시하기(.gitignore) (0) | 2026.07.13 |
| [GIT] 코드 올리고 내려받기 (0) | 2026.07.13 |