git archive致命:协议不支持该操作


8

我可以git clone这样...

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

...没有问题。但是我想排除克隆附带的所有git meta东西,所以我想我会用,git archive但出现此错误:

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

有人知道我为什么或做错了吗?


github不支持一个开放的问题git archive支持git-archive协议
AlikElzin-kilaka,

Answers:


4

我将git clone按照您所描述的那样简单地运行,然后删除.git分散在整个克隆目录中的目录。

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

谢谢。我在他们的github上找到了“ Download Zip”链接,我只是做了一个wget https://github.com/stackforge/puppet-heat/archive/stable/havana.zip并解压缩了。
Red Cricket


1

git archive仍然是正确的方法:

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

您的方法不起作用的原因-很明显-github不支持(或不支持)远程归档。这意味着存档实际上是作为github服务器上的文件创建的,然后将其发送。

因此,只需克隆存储库,然后在克隆上运行git archive。


1

仅供参考,我用bitbucket遇到了相同的错误。我将协议从https切换到ssh,它起作用了。

例如:

git archive --remote=youruser@github.com/stackforge/puppet-heat.git 

当然,您需要具有公共/专用密钥设置才能起作用。

我听说github不支持远程处理,但是对于其他有此问题的人,上面的代码至少为我解决了。

由于我们的存储库很大,因此,如果我们只想进行svn导出,则克隆它实际上不是一个选择。


@ john-lilttle您是否尝试过git archive针对github还是进行过命令bitbucket
AlikElzin-kilaka
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.