728x90
git merge에는 3가지 방법이 있다
- fast-forward merging
- squash merging
- rebase merging
각 merge방법들은 프로젝트의 요구사항이나 팀의 작업 스타일에 따라 선택되고 특히, 충돌이 발생 할 경우 각각의 merge방법에 따라 해결방법이 다르기 때문에 팀의 특성에 맞게 선택하면 된다
1. fast-forward merging

가장 간단한 merge방법중 하나이며, 브런치를 병합할 때 단순히 커밋 히스토리를 합치는 방식이다. 병합 시 충돌이 발생하지 않았을 경우 새로운 커밋을 생성하지 않고 단순히 브런치를 앞으로 이동시킨다
git checkout main
git merge feature-branch
2. squash merging

모든 커밋을 하나로 압축하여 병합하는 방식이고 브런치의 히스토리를 깔끔하게 유지하고자 할 때 주로 사용된다. 기능 브런치에서 개발한 여러 커밋을 의미 있는 하나의 커밋으로 남길 수 있다
git checkout main
git merge --squash feature-branch
git commit -m "Merged feature-branch with a squash"
3. rebase merging

기존의 커밋히스토리를 변경하여 새로운 기능 브런치의 커밋을 최신상태로 유지한다 두 브런치를 병합하기 전에 기능 브런치의 커밋을 현재main브런치에 최신커밋 위에 적용할 수 있고 커밋히스토리가 선형적으로 깔끔하게 유지가 가능하다
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch728x90
'개발지식 > 정보' 카테고리의 다른 글
| CORS 에러란 (0) | 2024.03.31 |
|---|---|
| HTTP 메소드란 (0) | 2024.01.26 |
| [Git] git branch 전략이란 (0) | 2024.01.12 |
| [Git] 양질의 commit 남기기 (0) | 2024.01.09 |
| SSR(서버 사이드 렌더링)과 CSR(클라이언트 사이드 렌더링)+SSG (0) | 2023.03.22 |