내 브랜치에서 작업 중, main 브랜치의 내용이 변경되었다. 이때, 내 브랜치를 충돌 없이 pr하기 위해서는 어떻게 해야하는가?
-> main 브랜치의 변경 사항을 내 브랜치에 리베이스(rebase)
# 1. main 브랜치 최신 내용 가져오기
git checkout main
git pull origin main
# 2. 내 작업 브랜치로 돌아오기
git checkout feature/something
# 3. main 브랜치 위로 rebase 하기
git rebase main
그럼 이때 error: cannot rebase: You have unstaged changes. error: Please commit or stash them. 이런 오류가 발생할 수 있다.
이건 내 변경 사항이 아직 커밋되지 않아서 발생하는데, 오류 메시지 말처럼 커밋 또는 임시 저장을 하던가,
# 1. 변경사항 완전히 버리기
git reset --hard
# 2. 원격 최신 내용 가져오기
git fetch origin
# 3. 내 브랜치를 main 최신 내용으로 리베이스
git rebase origin/main
내 변경 사항 전부 내다 버리고 가져올 수도 있다.