git fetch가 원격 추적 분기를 가져올 때 복사본이 생성되나요?
巴扎黑
巴扎黑 2017-06-22 11:52:57
0
1
910

이 질문은 Pro git "원격 브랜치"를 배울 때 발생합니다.

질문:
원격 추적 분기를 가져올 때 git fetch가 로컬 복사본을 생성합니까?

원문 설명을 먼저 읽어보시고,

작업을 동기화하려면 git fetch Origin 명령을 실행하세요. 이 명령은 "origin" 서버(이 경우 git.ourcompany.com)를 찾고, 로컬에서 사용할 수 없는 데이터를 가져오고, 로컬 데이터베이스를 업데이트하여 원본/마스터 포인터가 새 서버를 가리키도록 이동합니다. , 위치를 업데이트했습니다.

사진에서 보면 마스터 브랜치가 로컬이기 때문에 원격 웨어하우스(f4265 제출 지점)를 복제한 후 2개의 로컬 제출이 이루어지면서 새로운 제출 체인이 생성되었습니다. 동시에 서버의 다른 누군가가 서버에 커밋된 마스터 브랜치(31b8e, 190a3)를 푸시했습니다. 따라서 git fetch Origin을 사용할 때 제가 이해한 바는 다음과 같습니다.
로컬 마스터 브랜치는 포크 지점에서 영향을 받지 않습니다. 즉, 가져오기 전에 원본/마스터에서 시작하여 새 분기가 로컬로 생성되며 동시에 원본/마스터 포인터는 로컬 복사본의 끝을 가리킵니다.

하지만 아래를 읽은 후 이 문단이 다시 나왔습니다:

특별히 주의해야 할 점은 새로운 원격 추적 분기가 캡처될 때 편집 가능한 복사본(복사본)이 로컬에서 자동 생성되지 않는다는 것입니다. 즉, 이 경우에는 새로운 serverfix 분기가 없으며 단지 수정 불가능한 원본/serverfix 포인터만 있을 뿐입니다.

이해가 안 되네요. 제가 예전에 이해한 게 잘못된 건가요? 그렇다면 그림 32의 그림도 잘못된 걸까요? 두 개의 커밋 지점(31b8e, 190a3)은 로컬로 전혀 가져오지 않지만 데이터베이스에서는 새 원본/마스터 포인터만 가져옵니다. 주요 원문에는 "로컬에서 사용할 수 없는 데이터를 가져와 로컬 데이터베이스를 업데이트한다"는 내용이 매우 모호하며, 해당 데이터가 무엇인지 알려주지 않습니다.

巴扎黑
巴扎黑

모든 응답(1)
给我你的怀抱

아무 문제 없습니다.

로컬에 없는 데이터를 캐치하고 로컬 데이터베이스를 업데이트하여 원본/마스터 포인터를 업데이트된 새 위치로 이동합니다.

이 점에 집중하세요. 이 지점이 마스터입니다.

새 원격 추적 분기를 가져오면 로컬 분기는 편집 가능한 복사본(복사본)을 자동으로 생성하지 않습니다. 즉, 이 경우에는 새로운 serverfix 분기가 없으며 단지 수정 불가능한 원본/serverfix 포인터만 있을 뿐입니다.

따라서 git checkout -b serverfix origin/serverfix편집 가능한 로컬 복사본을 만들려면 를 사용해야 합니다.

마스터 브랜치만이 편집 가능한 로컬 복사본을 생성합니다. 다른 지점은 모두 origin/* 下面,需要手动的 git checkout -b에 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿