Git을 사용하면서 최신 main
브랜치의 변경 사항을 다른 작업 브랜치(A
)에 반영하는 상황은 자주 발생합니다. 이는 새로운 기능을 개발하거나 버그를 수정할 때 main
브랜치에서 이루어진 업데이트를 다른 브랜치에 통합하여, 최신 코드베이스를 유지하기 위함입니다. 이번 글에서는 merge
와 rebase
두 가지 방법을 사용해 main
브랜치의 변경 사항을 A
브랜치에 반영하는 방법을 다룹니다.
main
into A
merge
명령어를 사용하면 main
브랜치의 변경 사항을 A
브랜치에 병합할 수 있습니다. 이 방법은 두 브랜치의 히스토리를 모두 유지하면서 변경 사항을 통합합니다.
A
브랜치로 체크아웃
git checkout A
main
브랜치의 변경 사항 병합
git merge main
충돌 발생 시 해결
git add <resolved_files>
git commit
A
onto main
rebase
명령어를 사용하면 A
브랜치를 main
브랜치의 최신 상태로 재배열합니다. 이 방법은 A
브랜치의 변경 사항이 main
브랜치의 최신 상태를 기반으로 쌓여 깔끔한 히스토리를 유지합니다.
A
브랜치로 체크아웃
git checkout A
main
브랜치를 기준으로 리베이스
git rebase main
충돌 발생 시 해결
git rebase --continue
main
브랜치의 최신 상태를 기반으로 정렬됩니다.--force push
)가 필요할 수 있어 협업 시 주의가 필요합니다.다음은 main
브랜치의 변경 사항을 A
브랜치로 병합하는 과정입니다:
A
브랜치로 전환:
git checkout A
main
브랜치를 병합:
git merge main
충돌 발생 시 해결:
git add <resolved_files>
git commit
다음은 A
브랜치를 main
브랜치의 최신 상태로 리베이스하는 과정입니다:
A
브랜치로 전환:
git checkout A
main
브랜치를 기준으로 리베이스:
git rebase main
충돌 발생 시 해결:
git rebase --continue
최신 main
브랜치의 변경 사항을 A
브랜치에 반영하는 방법은 프로젝트와 팀의 워크플로에 따라 선택할 수 있습니다. merge
는 히스토리를 보존하면서 변경 사항을 통합하며, rebase
는 히스토리를 깔끔하게 유지하는 데 유용합니다. 각 방법의 특성을 이해하고 상황에 맞게 사용하는 것이 중요합니다.