TIL/2025

[Error] Your branch and 'origin/feature-1' have diverged

고무 오리 2025. 12. 10. 21:16
728x90

git branch를 feature-1로 전환 했는데 아래 오류가 나왔다

Your branch and 'origin/feature-1' have diverged,
and have 4 and 7 different commits each, respectively.

 

문제 원인 및 해결책은?

 

 

문제 원인

 

Local branch Remote branch('origin/feature-1')가 각각 상대방에게는 없는 커밋을 가지고 있다는 뜻

  • Local branch : 'origin/feature-1'에 없는 4개의 커밋이 있음
  • Remote branch ('origin/feature-1') : Local branch에 없는 7개의 커밋이 있음

 

해결 책

local 수정사항도 살리고 싶은 경우

Fetch & Rebase를 하자

Rebase 기준점은 origin/feature-1 임

 

git fetch origin
git rebase origin/feature-1

// 또는 아래 명령어
// 아래는 위 두 명령어 합친 것
// git pull --rebase origin feature-1

 

 

Rebase 중 이런 오류가 발생하면

Conflicting files. Fix them up and run git rebase --continue

 

# 1. 어떤 파일에 충돌이 났는지 확인
git status
# Unmerged paths: 아래에 충돌 파일 목록이 나타납니다.

# 2. 충돌 파일 열기
# 충돌된 파일 내부의 <<<<<<<, =======, >>>>>>> 마커를 보고 수동으로 코드를 수정하여 충돌을 해결합니다.

# 3. 충돌 해결 후 Git에 알리기
# 수정한 파일을 스테이징 영역에 추가합니다.
git add .

# 4. 현재 중단된 Rebase 작업을 계속 진행합니다.
git rebase --continue

 

중간에 rebase 과정 취소하고 처음으로 돌아가고 싶으면

git rebase --abort

 

충돌 해결 다 했으면

# 로컬의 최신 상태를 원격 저장소에 올립니다.
git push origin feature-1

 

 

local 수정사항이 필요 없는 경우 

그냥 local 저장소가 원격 저장소 최신본 바라보게 하면 됨

git reset --hard origin/feature-1

 

 

Takeaway

git 사용 시 발생하는 비동기 커밋 문제 해결책을 익힘

728x90

'TIL > 2025' 카테고리의 다른 글

printf("%c", 2)가 '2'가 아닌 이유  (0) 2025.12.26
MCP가 무엇인지?  (1) 2025.12.21
Requirement yogi의 traceability  (0) 2025.12.10
Hash와 Digital Signature  (0) 2025.12.09
Confluence 문서 상태 관리 feat. Comala  (0) 2025.11.07