2013-06-27 4 views
16

내가 자식의 환매 특약에 하위 디렉토리를 보관과 같이하는 자식 아카이브를 사용하고 있습니다 : 결과 아카이브가 하위 디렉터리/디렉토리 구조를 유지하지만자식 아카이브 하위 디렉토리 -

git archive -o ../subarchive.zip HEAD subdir/* 

, 내용 즉, 위치 :

subdir/ 
    whatever.js 
    morestuff.js 

실제로 아카이브의 루트에 whatever.js 및 morestuff.js가 필요할 때.

어떻게합니까? 감사.

답변

25

이 좋아하는 작업을 수행 할 수 있습니다 그런데

git archive -o ../subarchive.zip HEAD:subdir 

명령과 함께 연주하고 무엇을 생성하는 것은 당신이이 양식을 사용하는 경우입니다 볼 수있는 쉬운 방법 :

git archive --format=tar HEAD:subdir | tar t 
git archive --format=tar HEAD subdir | tar t 
# ... and so on ... 

찾고있는 내용이 표시되면 형식을 변경하고 -o 플래그를 사용하여 실제로 아카이브를 만들 수 있습니다.

+0

원격 리포지토리에서이 작업을 효율적으로 수행 할 수있는 방법이 있습니까? 예 : 클론하기에 실용적이지 않은 거대한 repo를 한 번에 하나의 개정판/한 개정판 만 가져 오는 것입니까? 나는'--remote'를 시도했지만 엄청나게 느렸다. –

+0

잘 작동합니다. 나는 GIT 문서의 어느 부분이 이것에 관해 이야기했는지 이해하려고 노력했지만, 할 수 없었다. pls를 자세히 설명해 주시겠습니까? – Meglio

+0

@Meglio'git archive --help', 당신이 무언가를 찾을 수 없으면 알려주고 (가능한 한 구체적으로하십시오) – janos