원격 Git 저장소와 동기화(fetch, pull, update)

소영·2024년 7월 19일
post-thumbnail

기본단어

원격저장소 - git
로컬저장소 - 내 노트북의 복사본

Git Fetch과 Git Pull

  1. Git Fetch - 원격저장소의 최신 변경 내용만 다운로드(로컬 복사본과 병합 X) -> 수동으로 git merge 명령어 사용하여 로컬 복사본과 변경내용을 수동으로 병합
  1. 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

profile
개발할게요

0개의 댓글