2014-10-28 5 views
7

태그에서 최대 깊이 1 인 저장소를 복제하면 작동하고 그만 내려줍니다. 그런 다음 새 태그에 대해 깊이 1을 갖거나 가지지 않고 가져 오기를 수행하려는 경우 일부 처리를 수행하지만 태그는 'git 태그'아래에 표시되지 않습니다. --tags 옵션을 제공하면 새로운 정보가 아닌 전체 저장소를 다운로드합니다. 저장소에 더 많은 기록을 저장하는 데 신경 쓰지 않고 다운로드 시간을 피하고 싶습니다. 얕은 복제 된 저장소에서 모든 태그를 가져 오지 않고 새 태그를 얻을 수있는 방법이 있습니까?새 태그의 얕은 가져 오기

이제
git clone --branch 1.0 --depth 1 repositoryPath 
git fetch --depth 1 origin tags/1.1 # Does processing but no new tags 
git fetch --tags origin tags/1.1 # Pulls down the rest of the repository and adds all tags 
git fetch --depth 1 --tags origin tags/1.1 # Same as above 

, 나는 문서에서 이것을 발견했습니다 : "는 깊은 커밋에 대한 --depth ... 태그 불러올 수 없습니다."

내가 지금 실행 중입니까? 모든 태그를 다운로드하는 것 외에 이것을 할 방법이 없습니까?

답변

7

당신은 전체 <refspec> 형식을 사용할 수 있습니다 : (<refspec> 아래) git-fetch options에 규정 된

git fetch --depth 1 origin refs/tags/1.1:refs/tags/1.1 

또는 :

tag <tag>refs/tags/<tag>:refs/tags/<tag>과 같은 의미; 그것 요청 태그까지 모든 것을 가져 오는 요청합니다.

그래서 귀하의 질문에 짧은 형식의 대답을했다가,

git fetch --depth 1 origin tag 1.1 
+0

굉장 할 것이다. 나는 완전히 refspec을 읽지 않았다. 나는 당신이 단지 경로를 붙여야한다고 상상했다. 나는 그것이 혼란 스럽다는 부분이 뭔가 일한 것처럼 친절하다고 생각합니다. 고마워요. –