Git 리포지토리는 디렉토리와 파일의 트리 일뿐만 아니라 분기 및 병합을 포함 할 수있는 트리의 기록도 저장한다는 것을 이해해야합니다.
리포지토리에서 가져 오면 분기의 전부 또는 일부를 리포지토리에 복사합니다. 그런 다음 이러한 저장소는 "원격 추적 분기"(예 : remotes/origin/master
이와 유사한 이름의 분기)로 저장소에 있습니다 .
원격 저장소에서 새 커밋을 가져와도 로컬 작업 복사본에 대한 내용은 변경되지 않습니다.
작업 사본에는 일반적으로이라는 커밋이 체크 아웃되어 HEAD
있습니다. 이 커밋은 일반적으로 지역 지점 중 하나의 팁입니다.
로컬 분기 (또는 모든 로컬 분기?)를 해당 원격 분기로 업데이트 한 다음 최신 분기를 확인하고 싶다고 생각합니다.
작업 복사본 (로컬 변경이있을 수 있음)과의 충돌을 피하려면 먼저 버전 화되지 않은 모든 항목을 정리하십시오 (사용 git clean
) 그런 다음 업데이트하려는 원격 브랜치에 해당하는 로컬 브랜치를 체크 아웃하고 git reset
이를 사용 하여 가져온 원격 브랜치로 전환합니다. ( git pull
로컬 브랜치의 모든 업데이트를 로컬 브랜치에 통합하여 로컬 커밋이있는 경우 동일하게 수행하거나 병합 커밋을 생성 할 수 있습니다.)
(그러나 작업 복사본과 로컬 커밋 모두에서 로컬 변경 사항을 실제로 잃게됩니다. 실제로 원하는지 확인하십시오. 그렇지 않으면 새 브랜치를 더 잘 사용하면 로컬 커밋이 저장 git stash
되고 아직 커밋되지 않은 변경 사항을 저장 하는 데 사용 됩니다 .)
편집 :
로컬 지점이 하나만 있고 하나의 원격 지점을 추적하는 경우
git pull
작업 디렉토리 내부에서.
그러면 추적 된 모든 원격 브랜치의 현재 버전을 가져오고 현재 브랜치 (및 작업 디렉토리)를 현재 추적중인 원격 브랜치 버전으로 업데이트합니다.