내 자식 저장소의 하위 디렉토리를 내보낼 때 보관중인 커밋의 전체 해시를 주어진 파일. 그 이유는 내 고객에게이 코드 (편리하게 정기적으로 내보내기하기에 너무 큰 저장소의 하위 디렉토리)를 배송 한 다음 (git 환경 외부에서) 빌드하고 로그에서 알 수 있기를 원하기 때문입니다. 어떤 버전의 코드가 그것을 생성했는지, 디버깅을 돕기 위해. 그것은 export-subst
속성 .gitattributes
에 파일을 추가 할 수 있으며, git archive
실행할 때이있다으로 %H
토큰 교체해야하는 것처럼저장소의 하위 디렉토리를 내보낼 때 export-subst git 속성 사용하기
솔루션이 나타납니다. 그러나 나는이 행동을 보지 않고있다.
저는 Pro Git 책의 한 페이지를 참고 자료로 사용하고 있지만 (here 참고) 저장소의 루트가 아닌 하위 디렉토리와 함께 사용하려고합니다.
내보낼 디렉토리의 이름은 iDevice
입니다. Last commit date: $Format:%cd$
이 포함 된 hash_test
이라는 폴더 아래에 파일을 만들었습니다. git archive --format=tar HEAD:iDevice/ | gzip > test.tar.gz
을 실행하면 파일이 수정되지 않습니다. git archive --format=tar HEAD | gzip > test.tar.gz
을 실행하면 파일이으로 수정되었습니다.
나는 git 디렉토리의 루트와 .gitattributes 파일을 루트 디렉토리와 서브 디렉토리에 유지하려고 시도했다. 나는이 파일을 .gitattributes 파일에 iDevice/hash_test
과 hash_test
으로 참조하려고 시도했다. (내가 kerneltrap.org에있는 버그와 비슷한 것 같아서 --prefix = archive 명령을 혼란스럽게했다./mailarchive/git/2008/4/8/1378004 내가 제대로 연결 하겠지만 더 많은 링크를 게시하는 평판은 없다 ...). 그러나이 중 아무 것도 도움이되지 못했습니다.
의견을 보내 주시면 감사하겠습니다.
나는 이미 iDevice 폴더에 내 .gitattributes를 가지고 있는데, 나는 그것을 다 커밋했지만 기쁨은 없었습니다. 귀하의 제안은 ''로 해결되었습니다. 감사! –
Rowan