AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Git으로 인한 충돌 파일 해결하기: 전문 엔지니어의 접근법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 개발자 및 팀 협업자
  • 중간~고급 수준의 Git 사용자 (이전 커밋 히스토리, 메르지 툴 사용 경험 필요)

핵심 요약

  • fatal: Exiting because of an unresolved conflict 에러는 메르지 상태가 완료되지 않은 파일이 존재할 때 발생
  • git addgit commit 명령어를 통해 충돌 파일을 해결하고 커밋해야 작업이 진행 가능
  • git mergetool, VSCode, Meld메르지 툴 사용은 충돌 해결 효율성 향상에 기여
  • git pull --rebase자주 커밋하는 습관은 충돌 발생 가능성 감소히스토리 관리 용이성 제공

섹션별 세부 요약

1. 충돌 발생 원인

  • git pull 실행 시 로컬/리모트 변경사항 자동 조정 불가능
  • 이전 메르지 작업에서 미해결 충돌 존재
  • git status 명령어로 both modified 상태의 파일 확인 가능

2. 충돌 파일 해결 절차

  • 충돌 마커(<<<<<<< HEAD, =======, >>>>>>>) 포함된 파일 열기
  • 수동 수정 또는 메르지 툴(예: git mergetool)을 이용하여 충돌 해결
  • git add <파일> 명령어로 해결된 파일 추가 후 git commit으로 커밋

3. 고급 해결 전략

  • git stash 명령어로 임시 저장git stash pop으로 복원
  • git merge --abort 또는 git rebase --abort 명령어로 메르지/리베이스 중단
  • VSCode(code --wait .) 또는 Meld, Beyond Compare메르지 툴 활용

4. 실무 습관 및 팁

  • git pull --rebase 사용: 히스토리 선형성 유지
  • 자주 커밋: 작은 차이 분석 및 충돌 해결 용이성
  • 기능 플래그 사용: 생산 배포 차단 방지
  • git status 정기 점검: 충돌 사전 감지

결론

  • git addgit commit 명령어를 통해 충돌 해결 후 작업 진행 가능
  • 메르지 툴 사용자주 커밋 습관을 통해 협업 효율성 극대화
  • Git은 협업 파트너로, 충돌은 협업 과정에서 자연스러운 발생 사항으로 간주되어야 함