병합이란 무엇인가
Coddy Terminal 여정의 버전 관리 섹션에 포함된 레슨 — 58개 중 34번째.
병합(merge)은 한 브랜치의 작업을 다른 브랜치로 가져옵니다. 병합이 성공적으로 완료되면, 대상 브랜치는 두 브랜치의 모든 커밋을 포함하게 되며 파일에는 결합된 결과가 반영됩니다.
표준 워크플로우는 다음과 같습니다:
- 병합하려는 대상 브랜치로 전환합니다 (보통
main). git merge other-branch를 실행합니다.
git switch main
git merge feature-loginGit은 두 브랜치의 히스토리를 살펴보고 이를 결합하는 방법을 찾아냅니다. 대부분의 경우 이 작업은 자동으로 수행됩니다. 병합(merge)의 두 가지 주요 방식은 다음과 같습니다:
- 패스트 포워드(Fast-forward): 브랜치가 생성된 이후
main이 이동하지 않았습니다. Git은 단순히main포인터를 앞으로 이동시킵니다. - 3-way 머지(Three-way merge): 두 브랜치 모두에 새로운 커밋이 있습니다. Git은 이들을 결합하는 새로운 "머지 커밋(merge commit)"을 생성합니다.
다음 두 레슨에서 두 모양을 모두 보게 될 것입니다.
챌린지
초급폴더에 app.txt가 포함되어 있습니다. 저장소를 설정하고, main 브랜치에 첫 번째 커밋을 만든 다음, 현재 브랜치를 출력하세요.
이것은 다음 레슨에서 병합하기 전의 간단한 준비 운동입니다.
치트 시트
병합(merge)은 한 브랜치의 작업 내용을 다른 브랜치로 가져오는 것입니다. 먼저 대상 브랜치로 전환한 다음 병합하세요:
git switch main
git merge feature-login병합의 두 가지 유형:
- Fast-forward: 브랜치가 생성된 이후
main에 변경 사항이 없는 경우입니다. Git은 단순히 포인터를 앞으로 이동시킵니다. - Three-way merge: 두 브랜치 모두에 새로운 커밋이 있는 경우입니다. Git은 새로운 병합 커밋을 생성합니다.
직접 해보기
터미널
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.