git fetch와 git pull은 모두 원격 저장소를 로컬 저장소로 업데이트할 수 있습니다. 그러면 이 문제를 명확히 하기 위해 언급해야 할 몇 가지 개념이 있습니다.
FETCH_HEAD: 로컬 파일에 기록된 버전 링크로, 원격 창고에서 내려온 브랜치의 최종 버전을 가리킵니다.
commit-id: 각 로컬 작업이 완료된 후 현재 작업을 로컬 repo에 저장하기 위해 git commit 작업이 수행됩니다. 이때 고유하게 식별하는 일련 번호인 commit-id가 생성됩니다. 버전. git push를 사용한 후에는 이 일련 번호가 원격 창고에도 동기화됩니다.
위의 개념을 바탕으로 git fetch에 대해 이야기해 봅시다
git fetch: git 원격의 모든 원격 저장소에 포함된 브랜치의 최신 커밋 ID를 업데이트하고 이를 .git/FETCH_HEAD 파일에 기록합니다
git fetch가 원격 저장소를 업데이트하는 방식은 다음과 같습니다:
(1) git fetch를 직접 사용하는 경우 단계는 다음과 같습니다.
(2)git 가져오기 원본
가져올 리모컨을 수동으로 지정하면 됩니다. 브랜치가 지정되지 않으면 일반적으로 기본적으로 master
(3)git fetch 오리진 개발자
원격 및 FETCH_HEAD를 지정하고 이 분기의 커밋만 가져옵니다.
git pull: 먼저 로컬 FETCH_HEAD 레코드를 기반으로 로컬 FETCH_HEAD 레코드를 원격 웨어하우스의 버전 번호와 비교한 다음 git fetch를 사용하여 현재 가리키는 원격 브랜치의 후속 버전 데이터를 얻은 다음 다음을 사용합니다. git merge를 사용하여 로컬 현재 분기를 병합합니다. 따라서 git pull은 git fetch와 git merge의 두 단계를 조합한 것이라고 볼 수 있습니다.
git pull 사용법은 다음과 같습니다.
따라서 git pull과 비교할 때 git fetch는 원격에서 로컬로 최신 버전을 가져오는 것과 동일하지만 자동으로 병합되지는 않습니다. 선택적으로 병합해야 한다면 git fetch가 더 나은 선택입니다. 효과가 동일하면 git pull이 더 빨라집니다.
위 내용은 git fetch와 git pull의 차이점에 대해 자세히 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!