결론부터 말하면 이렇다.
git fetch: 원격 저장소의 최신 내용을 다운로드만 함 (로컬 브랜치는 변경 안 됨)
git pull: 원격 저장소의 최신 내용을 다운로드하고 자동으로 merge까지 함
git pull = git fetch + git merge
git fetch origin main
실행 결과:
C---D---E feature (내 로컬 브랜치, 그대로)
/
A---B---F---G origin/main (원격 main, 업데이트됨)
|
F main (내 로컬 main, 그대로)
origin/main만 업데이트됨feature, main)는 전혀 변경 안 됨e.g. 작업 예시
# feature 브랜치에서
git fetch origin main
실행하면:
origin/main에 저장결과 메시지만 이렇게 나온다.
From <https://github.com/user/repo>
* branch main -> FETCH_HEAD