Git

Git 기초 마스터하기 - 2편 효과적인 병합 기법과 충돌 해결

Kir93 2024. 1. 2. 16:15
728x90
반응형

효과적인 병합은 건강한 코드베이스를 유지하는 데 중요하며, 충돌을 해결하는 방법을 이해하는 것은 모든 Git 사용자에게 필수적입니다.

이 글은 고급 병합 기술과 전문가처럼 충돌을 처리하는 방법을 안내합니다.

 

Git 병합 이해하기 병합은 한 브랜치의 변경 사항을 다른 브랜치에 통합하는 과정입니다. 협업 환경에서 흔히 발생하지만, 충돌을 일으킬 수도 있습니다.

 

1. 병합 전략

1.1 Fast-Forward Merge

병합되는 브랜치에 다른 커밋이 없을 때 발생합니다.

git checkout main
git merge feature-branch

1.2 Three-Way Merge

두 브랜치 모두에서 다른 커밋이 있을 때 사용됩니다.

git merge feature-branch

2. 병합 충돌 처리하기

2.1 Identify Conflicts

병합 중에 Git이 충돌을 알려줍니다.

2.2 Resolve Conflicts

파일을 편집하여 충돌하는 변경 사항을 수정합니다.

충돌을 찾기 위해 Git 마커(<<<<<<<, =======, >>>>>>>)를 사용합니다.

2.3 Mark as Resolved

해결 후 충돌을 해결된 것으로 표시합니다.

3. Merge Tools

3.1 Using GUI Tools

GitKraken이나 SourceTree와 같은 도구는 그래픽 인터페이스를 통해 충돌 해결을 단순화할 수 있습니다.

3.2 Command Line Tools

git mergetool을 사용하여 Git 설정에 구성된 병합 도구를 실행합니다.

4. Squash Merging

메인 브랜치로 병합할 때 피처 브랜치의 모든 커밋을 단일 커밋으로 결합합니다.

git checkout main
git merge --squash feature-branch
git commit

5. Rebase and Merge

깔끔하고 선형적인 히스토리를 유지하는 데 도움이 됩니다.

git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch

 

병합을 위해서는 항상 아래 3가지를 기본을 생각하면 편합니다.

  1. 기능 브랜치를 최신 상태로 유지하기 위해 정기적으로 메인 브랜치에서 변경 사항을 가져오고 병합하세요.
  2. 코드 품질을 보장하기 위해 병합 전에 변경 사항을 검토하세요.
  3. 병합 후 철저한 테스트를 통해 문제를 조기에 발견하세요.
반응형