Git Merge

Updated: 2025-01-08

gitweekly
cover image

출처: https://im-developer.tistory.com/182

Git merge 종류

머지 종류에는 3가지가 존재합니다.

  1. Merge Commit
  2. Squash Merge
  3. Rebase Merge

1. Merge Commit

두 브랜치의 모든 커밋 기록을 그대로 유지하며 하나의 브랜치와 다른 브랜치의 변경 이력 전체를 합치는 방법입니다.

1$ git checkout master 2$ git merge my-branch

언제 사용하나요?

  • 다양한 기능 브랜치를 병합하고, 각 기능의 개발 과정을 명확하게 기록하고 싶을 때 사용합니다.
  • 협업 시 각 개발자의 작업 내용을 추적해야 할 경우에도 유용합니다.

2. Squash Merge

여러 개의 커밋을 하나의 커밋으로 합치고 프로젝트의 히스토리를 간결하게 유지할 수 있습니다.

feature 브랜치의 commit history를 합쳐서 깔끔하게 만들기 위해 사용합니다.

1$ git checkout master 2$ git merge --squash my-branch 3$ git commit -m "your-commit-message"

언제 사용하나요?

  • 기능 개발 과정에서 발생한 중간 커밋은 생략하고, 최종 결과만 반영하고 싶을 때 사용합니다.
  • 마스터 브랜치에 불필요한 노이즈를 줄이고 싶을 때 사용합니다.

3. Rebase Merge

한 브랜치의 커밋을 다른 브랜치의 끝에 붙여서 마치 처음부터 그 브랜치에서 개발된 것처럼 보이게 합니다.

1$ git checkout my-branch 2$ git rebase master 3$ git checkout master 4$ git merge my-branch

이때 Rebase의 경우에는 브랜치 병합 시 merge commit 기록이 남지 않습니다.

언제 사용하나요?

  • 기능 브랜치를 마스터 브랜치에 병합하기 전에 다른 브랜치의 최신 변경 사항을 반영하고 싶을 때 사용합니다.
  • 깔끔하고 선형적인 프로젝트 히스토리를 유지하고 싶을 때 사용합니다.

문의 사항이 있으시면 언제든지 개인 메일로 연락 주시기 바랍니다.

메일 보내기

© 2024. kimyoungho all rights reserved.