Git 충돌 해결과 안전한 브랜치 관리
Git을 사용해서 팀 프로젝트를 하다 보면 충돌은 피할 수 없는 문제입니다. 특히 여러 명이 각자의 브랜치에서 작업을 하고, 이를 하나의 브랜치(develop 등)로 병합할 때 충돌이 발생할 가능성이 큽니다. 오늘은 브랜치 간 충돌을 안전하게 해결하고, 작업 중인 코드를 보호하는 방법에 대해 이야기해보겠습니다.
💥 상황 정리
팀 프로젝트를 진행하면서 다음과 같은 상황에 직면했습니다.
- 각자 브랜치에서 개발 작업을 진행하며, develop 브랜치에 Pull Request(PR)를 보내 머지했습니다.
- 다른 팀원이 PR을 보내면서 develop 브랜치가 업데이트되었습니다.
- 그런데 내 브랜치에는 최신 develop 브랜치의 수정 내용이 반영되지 않은 상태로, 이미 많은 코드를 수정하고 추가했습니다.
- 이런 상태에서 develop 브랜치의 내용을 내 브랜치에 가져오려면 충돌이 발생할 수밖에 없습니다.
🛠️ 해결 방법
- 수정 중인 코드 우선 커밋하기
현재 수정 중인 코드가 있다면 안전하게 커밋하여 백업합니다.
git add .
git commit -m "작업 중 코드 백업"
2. 최신 브랜치로 이동하여 업데이트
최신 develop 브랜치를 가져와야 합니다.
git checkout develop git pull origin develop
3. 내 브랜치로 돌아와 병합하기
최신 브랜치를 가져왔다면, 다시 내 브랜치로 돌아와 병합합니다.이 과정에서 충돌이 발생할 수 있으며, 충돌이 발생하면 충돌 난 파일을 수정해야 합니다.
수정 후에는 아래 명령어로 충돌 해결을 완료합니다.
git add .
git commit -m "충돌 해결"
git checkout 내브랜치
git merge develop
아...근데 충돌을 해결하다가 코드에서 수정할 부분을 발견했습니다.
DEBUG=TRUE로 두고 코드를 수정하며 로그를 확인해왔는데, push할 때는 DEBUG를 False로 두는 편이 좋기 때문이죠.
4. 추가 수정이 필요하다면?
병합 후에도 수정할 코드가 있다면 평소처럼 수정하고 커밋한 다음 푸시합니다.
git add .
git commit -m "충돌 해결 후 추가 수정"
git push origin 내브랜치
✅ 정리
- 수정 중인 코드를 안전하게 커밋하여 백업합니다.
- 최신 브랜치를 가져와 병합하여 충돌을 해결합니다.
- 복원 후 추가 수정이 있다면 커밋 후 푸시합니다.
이 방법을 잘 숙지하고 있으면 협업 중 발생하는 충돌을 효과적으로 관리할 수 있습니다. 코드 충돌 때문에 작업 내용을 잃거나 당황하지 않도록, 항상 최신 브랜치를 자주 가져오고, 수정 사항은 안전하게 커밋해두세요!
'🔧Git&Github' 카테고리의 다른 글
| [Git] 로컬 저장소와 원격 리포지토리 연결하기 (git remote) (0) | 2025.02.18 |
|---|