2014-02-05 2 views
1

나는 간단한 일이어야한다고 믿는 것에 대한 답을 찾을 수 없을 것 같습니다.마지막 커밋 메시지가있는 git 아카이브 - 왜 이것이 가능하지 않습니까? 그렇지 않습니까?

다음을 고려하십시오 - 저는 git archive 명령을 사용하여 git 저장소에서 콘텐츠를 가져오고 그와 관련된 커밋 메시지를 표시 할 수 있기를 원합니다. 그러나 이것이 불가능한 이유는 확실하지 않습니다.

은 내가 이론적으로 자식 상태을 다음 자식 클론을하고 있었다 알고 있지만, 그 순간이 나의 최후의 수단이며, 내가 자식 아카이브 만에 이것을 달성 할 수 있는지 알고 싶습니다. 나는 --verbose 스위치를 추가 할 수 있으며, 아카이브 할 모든 파일을 나열합니다. 괜찮습니다.하지만 실제로 원하는 것은 커밋 메시지를 표시하는 것입니다.

git help archive를 통해 읽는 것 외에 다른 도움말이 있습니까? 또한, 현재 가능하지 않다면, 그러한 기능이 사람들에게 유용 할 것인가, 아니면 너무 많은 것을 원합니까? :)

답변

1

git 보관 파일은 tar 또는 zip 파일을 생성합니다. 어디에서든지 펼치면 더 이상 자식 레포가 없지만 단지 작업 영역입니다. 따라서 결정할 필요가있는 것이 가장 먼저해야 할 일입니다 ...

zip 파일을 사용하는 경우 파일을 --archive-comment 플래그가있는 보관 주석으로 zip에 추가 할 수 있습니다. 타르를 사용한다면, 타르 파일의 이름이나 타르에 추가 된 새로 생성 된 파일의 이름 (또는 타르에 추가 된 새로 생성 된 파일의 내용)에만 넣을 수 있다고 생각합니다.

메시지 제목을 파일 이름으로 사용하려면 git log -1 --format=format:'%s' 또는 git log -1 --format=format:'%f'과 같이 메시지 제목을 추출 할 수 있습니다. (다른 옵션은 git log --help 참조).

+0

나를위한 이상적인 해결책은 git 아카이브 (--verbose와 같은)의 일부분 일 것입니다. 실제로 git archive 명령을 실행할 때만 해당 정보가 필요하므로 repo를 실제로 사용하고 싶지 않습니다. --archive-comment에 관해서는, 나는 git archive 명령에서 그러한 옵션을 찾을 수 없을 것 같다. – Greg

+0

나는 그 문제를 이해하지 못한다.'git archive'를 실행할 때 당신은 저장소에 접근 할 수있다. 그래서'git log -1'을 할 수 있을까요? '--archive-commment'는 ** git ** archive 옵션이지만 ** zip ** – alvar

+0

은 혼란 스럽습니다. 사실 git 아카이브는 원격 저장소에서 임시 저장소로 데이터를 가져옵니다. 여기서 git 저장소는 존재하지 않기 때문에 자식 로그는 복제 저장소가 필요하지 않고 원격 저장소에서 주석을 검색 할 수 있다고 가정합니다. – Greg

관련 문제