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