私は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 エクスポートと同等の操作を実行する場合は、レプリケーションは実際にはオプションではありません。