web-dev-qa-db-ja.com

git archive fatal:プロトコルでサポートされていない操作

できます 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.

誰がなぜ、または私が間違っているのか知っていますか?

8
Red Cricket

私は単にgit cloneあなたが説明したとおりに.gitクローンされたディレクトリ全体に分散されているディレクトリ。

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

Githubのsvnサポートを使用できます:

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

詳細はこちら:

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

6
Sam Hasler

gitアーカイブはまだ正しい方法です。

git clone https://github.com/stackforge/puppet-heat.git cd puppet-heat gitアーカイブ

あなたのアプローチが機能しない理由は-明らかに-githubがリモートアーカイブをサポートしていない(またはサポートしていなかった)ことです。これは、アーカイブが実際にgithubサーバー上のファイルとして作成され、送信されることを意味します。

したがって、リポジトリをクローンして、クローンでgitアーカイブを実行します。

1
alex

参考までに、bitbucketで同じエラーが発生しました。プロトコルをhttpsからsshに切り替えたところ、うまくいきました。

例えば:

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

もちろん、これを機能させるには、公開鍵/秘密鍵を設定する必要があります。

Githubはリモーティングをサポートしていないと聞いていますが、この問題を抱えている他の人にとっては、上記で少なくとも私のために修正されました。

私たちのリポジトリは巨大なので、svnエクスポートと同等のことをしたいだけの場合、それをクローンすることは実際にはオプションではありません。

1
John Little