git://サーバーがダウンしている git リポジトリのクローンを作成したいと考えています。
幸いなことに、その gitweb インターフェイスはまだ機能しており、git リポジトリの再構築に必要なすべてのデータはそこから入手できます。
では、git web から git リポジトリを複製できる git コマンドまたはその他のツールはありますか?
(自分でボットを作成することもできますが、別の方法がある場合は時間を無駄にしたくありません)
gitweb は単なるperl スクリプトです ( gitweb.perl) :
で有効になっているgitweb.conf場合、gitweb は「スナップショット」(zip または tag.gz 形式) を提供できますが、これはリポジトリの完全な履歴ではありませんgit-archive。.
http://<gitweburl>/gitweb.cgi?p=<repo>.git;a=snapshot;h=HEAD
コマンドがある場合は、サーバー上で実行する必要があります。
たとえば、バンドルを要求できます ( git bundle ):
cd /path/to/bare/repo
git bundle create ../repo.bundle --all
これにより、ローカル ステーションに sftp で戻すことができ、git リポジトリとして機能する1 つのファイルが作成されます (読み取り専用、クローン/プルのみ、プッシュなし)。
cd /path/to/repo.bundle
git clone repo.bundle
cd repo
http://の代わりに を使用してレポの取得を試すことができますgit://。
たとえば、https: //git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/ にある Linux git リポジトリは、http: //git.kernel.org/pub/scm/linuxを使用して複製できます。 /kernel/git/torvalds/linux.git
またはに置き換えgit://てみて、それがうまくいくかどうかを確認してください。http://https://
ファイルごとに git リポジトリを再構築することは可能かもしれませんが、リポジトリがまだ存在していることを考えると、あまり意味がありません。リポジトリの所有者に連絡して、リポジトリへのアクセスを修正する意思があるかどうかを確認してください。