git archive fatal: 프로토콜이 작업을 지원하지 않습니다.

git archive fatal: 프로토콜이 작업을 지원하지 않습니다.

나는 git clone이것을 할 수 있다...

 git clone https://github.com/stackforge/puppet-heat.git

...문제 없습니다. 하지만 복제본과 함께 제공되는 모든 git 메타 항목을 제외하고 싶기 때문에 사용할 것이라고 생각했지만 git archive다음 오류가 발생합니다.

$ git archive --remote=https://github.com/stackforge/puppet-heat.git 
fatal: Operation not supported by protocol.

왜 또는 내가 뭘 잘못하고 있는지 아는 사람이 있습니까?

답변1

github의 svn 지원을 사용할 수 있습니다.

svn export https://github.com/user/project/trunk

자세한 내용은 여기를 참조하세요:

https://stackoverflow.com/questions/9609835/git-export-from-github-remote-repository

답변2

git clone설명하신 대로 실행하고 복제된 디렉터리 전체에 흩어져 있는 디렉터리를 삭제 했습니다 .git.

$  find puppet-heat/ -name '.git' -exec rm -fr {} +

답변3

git archive는 여전히 올바른 방법입니다.

클론https://github.com/stackforge/puppet-heat.git CD Puppet-Heat git 아카이브

분명히 귀하의 접근 방식이 작동하지 않는 이유는 github이 원격 보관을 지원하지 않거나 지원하지 않기 때문입니다. 이는 아카이브가 실제로 github 서버에 파일로 생성되어 전송된다는 의미입니다.

따라서 저장소를 복제하고 복제본에서 git archive를 실행하면 됩니다.

답변4

참고로, bitbucket을 사용해도 같은 오류가 발생했습니다. 프로토콜을 https에서 ssh로 전환했는데 작동했습니다.

예를 들어:

git archive [email protected]/stackforge/puppet-heat.git 

물론, 이것이 작동하려면 공개/개인 키를 설정해야 합니다.

나는 github이 원격 기능을 지원하지 않는다고 들었지만 이 문제에 직면한 다른 사람들을 위해 위의 방법으로 적어도 나를 위해 문제를 해결했습니다.

저장소가 크기 때문에 svn 내보내기와 동등한 작업을 수행하려는 경우 복제는 실제로 옵션이 아닙니다.

관련 정보