2016-09-07 3 views
1

누군가가이 같은 Git 저장소에 '포장 - 심판'에서 refspec 형식, 무엇을 말해 주시겠습니까 가져 얕은 휴식 : 나는 git ls-remote을 수행 할 때, 그 결과힘내 포장-심판 별칭

<some-hash> refs/tags/anytag 
^<tags-commit-true-hash> 

, 나는 나는 얕은하려고 할 때

<some-hash>    refs/tags/anytag 
<tags-commit-true-hash> refs/tags/anytag^{} 

그래서, anytag를 가져올 수, 나는 FETCH_HEAD이 <some-hash>를 가리키는하지만, 체크 아웃 후 나는 <tags-commit-true-hash>를 수신받을 수 있습니다. 이렇게하면 데이터가 어쨌든 (심지어 이미 존재하더라도) 동일한 태그를 가져 오는 것이 쉬워집니다.

지역 힘내 버전 : 리눅스 민트 호스팅 17.3

힘내에 1.9.1 리눅스 - 64 :의 Bitbucket

사람은 그 이상한 해시 별칭을 제거하거나 presense를 해결하려면 다음 중 하나를 알고 있나요?

+0

"휴식 얕은 가져 오기"란 무엇을 의미합니까? 나는 당신의 질문에 아무것도 의도대로 작동하지 않을 것이라는 것을 알려주지 않습니다. –

답변

1

"별칭"은 태그 개체입니다. 그들은 주석을 추가로 포함하고 실제 커밋을 가리 킵니다 (커밋이 트리를 가리키고 트리가 하위 트리와 블롭을 가리키는 것과 유사 함).

제가 알 수있는 한, 그들은 설계된대로 작동합니다. "해결 방법"이 필요하지 않습니다.

이렇게하면 데이터가 어쨌든 (이미 있더라도) 동일한 태그를 가져 오지 못하게됩니다. 이다

아니, 데이터가 이미 하지 뽑아있다.

엑스트라 데이터가 필요하지만 실제로는 조금 있습니다. 이미 사용 된 커밋 자체와 그 안에 참조 된 트리 및 얼룩은 가져 오지 않아야합니다.

+0

모든 태그에 해당하는 것은 아닙니다. 또 다른 repo는 '태그 객체'를 수반하지 않는 많은 수의 태그를 가지고 있습니다. 'little bit of data'에 관해서는, 문제가되는 저장소를 사용하여 대형 바이너리 블롭을 저장하고 있습니다. 왜 나 한테 물어 보지마. 나는 이걸하고있어. 그래서, 어떤 주에서는 20Mb 가져 오기를 할 수 있습니다. 같은 얕은 상태. –

+0

좋아요, 그래서 경량 태그와 전체 태그 객체의 차이점을 알았습니다. 그리고 이것이 문제의 근본 원인이었습니다. 그래서 당신의 대답을 대답으로 표시합니다. 감사. –

+0

@ Target-san,하지만 큰 개체는 커밋을 위해 (아래, 2 개 이상의 참조를 통해) 저장됩니다. 태그 자체는 그다지 크지 않아야하며 가져 오기는 이미 기본 커밋을 가지고 있음을 이해해야합니다 (실제로 커밋 된 경우). –