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 导出的操作,那么克隆它并不是真正的选择。

相关内容