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 |