`git fetch 업스트림 마스터 '명령에'마스터 '를 포함시키는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2014523

  •  19-09-2019
  •  | 
  •  

문제

섹션에서 상류 변화를 당기고 있습니다 ~에 도와 주 프로젝트 포킹 그것은 말한다 :

언젠가는 시간이 지남에 따라 상류 리포가 변경되었고 새 패치를 제출하기 전에 포크를 업데이트하려고합니다. 이를 수행하는 두 가지 방법이 있습니다.

$ git fetch upstream master

$ git merge upstream/master

그들이 포함하는 이유 master Fetch 명령에서? 나는 보았다 git help fetch 정보이지만 나는 무엇을 포함하는지 이해하지 못한다 master 하다. 감사.

도움이 되었습니까?

해결책

그것은 당신이 다음을 허용합니다 :

  • 마스터 업스트림 브랜치 만 로컬 버전을 업데이트하십시오 (업데이트와 반대로 모두 더 오래 할 수있는 업스트림 repo의 지점)
  • 병합을 트리거하지 않습니다 (풀 명령과 반대로)

그만큼 git merge 그런 다음 해당 로컬 버전의 업스트림 마스터를 Repo Master Branch에 병합합니다.

그래서 여기, 마스터는입니다 fetch 명령, refspec.

<refspec>

a의 형식 <refspec> 매개 변수는 옵션 플러스 +이고 소스 심판이 이어집니다. <src>, 그 다음에 콜론 :, 그리고 목적지 심판이 뒤 따릅니다. <dst>.

원격 심판이 일치합니다 <src> 가져 와서 IF가 있습니다 <dst> 비어있는 스트링이 아니며, 일치하는 로컬 심판은 빠르게 사용됩니다. <src>.
옵션 플러스 인 경우 + 사용되면 로컬 심판이 빠르게 업데이트되지 않더라도 업데이트됩니다.

여기, <dst> 비어 있으므로 일치하는 로컬 브랜치 (마스터)가 업데이트됩니다.


마스터 없이는 다음과 같이 줄 것입니다.

git fetch upstream 

위의 명령은 리모컨의 모든 분기를 복사합니다 refs/heads/ 네임 스페이스 및 로컬에 저장합니다 refs/remotes/upstream/ 그렇지 않으면 네임 스페이스 branch.<name>.fetch 옵션은 비 디폴트 리프 스펙을 지정하는 데 사용됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top