기본단어
원격저장소 - git
로컬저장소 - 내 노트북의 복사본
Git Fetch과 Git Pull
- Git Fetch - 원격저장소의 최신 변경 내용만 다운로드(로컬 복사본과 병합 X) -> 수동으로 git merge 명령어 사용하여 로컬 복사본과 변경내용을 수동으로 병합
- Git Pull - 원격 저장소에서 로컬 저장소로 변경 내용을 가져와 병합 ("git fetch"와+"git merge"), 원격 저장소에서 촤산 변경 내용을 가져와 로컬 저장소와 자동 병합
차이점
git fetch:
- 병합하기 전에 변경 내용을 검토할 수 있음
- 변경 내용만 다운로드하기 때문에 "git pull"보다 빠를 수 있음
- 로컬 브랜치를 변경하지 않으므로 언제든지 실행해도 안전
git pull:
- 병합하기 전에 변경 내용을 검토할 수 없음
- 빠르게 업데이트하고 자동으로 병합
- 로컬 브랜치를 원격 버전으로 최신 상태로 만드는 동시에 다른 원격 추적 브랜치도 업데이트
IntelliJ
해당문서 참고
git fetch
- 원격 저장소와 마지막으로 동기화한 이후에 만들어진 커밋의 모든 새 데이터가 로컬 사본에 다운로드(새 데이터는 로컬 파일에 통합되지 않으며 변경 사항은 코드에 적용되지 않음)
- 파일과 병합하기 전에 검토할 수 있음
- 페치는 로컬 개발 환경에 영향을 미치지 않음
Update branch
- 특정 브랜치를 원격 추적 브랜치(깃허브의 브랜치)와 동기화해야 하는 경우 update를 사용
- 선택한 브랜치에 변경 사항을 fetching 한 후 적용하는 데 편리한 단축키
Pull changes
- 원격 추적 브랜치(현재 로컬의 브랜치의 깃허브의 브랜치) 대신 다른 브랜치에서 현재 브랜치로 변경 사항을 가져와야 하는 경우 pull 을 사용
- 새 데이터를 다운로드할 뿐만 아니라 프로젝트의 로컬 작업 사본에 통합
관련문서
vscode
https://code.visualstudio.com/docs/sourcecontrol/overview
IntelliJ
https://www.jetbrains.com/help/idea/sync-with-a-remote-repository.html