公式のgithubミラーを作成する


108

https://github.com/mirrorsのように、「実際のミラー」として表示されるように、外部gitリポジトリ用のgithubミラーを作成するにはどうすればよいですか?

これまでのところ、私はミラーを次のように設定しました:

cd /path/to/bare/repository
git remote add --mirror github git@github.com:user/repo.git

ポストconfigureがやってフックを受けますgit push --quiet github。ただし、この方法では、githubはミラーを認識しません。

「ミラーリング元」がリポジトリ名の下に表示されるように、githubでそれを行う方法のアイデアはありますか?


2
github.com/apache/libcloudミラーリポジトリのもう1つの例、すべてApache LOLから
Colin Su

回答:


113

GitHubのサポートチームとの通信に基づいて、GitHubは現在、ユーザーがこの方法でリポジトリをミラーリングするための直接的なメカニズムを提供していないことがわかりました。

ただし、組織の一部であるリポジトリにこのサービスをインストールするようにGitHubに依頼することができます。次に、GitHubは既存のリポジトリをそのようなミラーとして構成し、それらが持つ全体的なミラーの数の関数である間隔でそこからプルします。

編集:スチュアートが指摘するように、GitHubは任意のリポジトリをミラーリングするリクエストを受け付けなくなりました。残りの唯一のオプションは、私の質問に投稿したソリューションです。つまり、GitHubリポジトリに自動的にプッシュするポスト受信フックを作成します。


9

https://github.com/mirrorsの現在のコンテンツから判断すると、GitHubでコードをミラーリングすることを望むほとんどのプロジェクトは、Git自体などの組織を作るだけなので、GitHubはもはや「公式ミラーリング」を行わないようです。。

https://github.com/isaacs/github/issues/415にも機能リクエストがあります。


実際、GitHubでミラーリングされたリポジトリを持っている人もいます。彼らはまだそれを行いますが、あなたがプロジェクトの開発者である場合、つまり「非公式な」ミラーがない場合のみです。
nyuszika7h 14年

そして彼らが言うように、組織のためだけに。
nyuszika7h 14年


4

Gitのインポートによると:

デモのために、以下を使用します。

  • extuserという名前の外部アカウント
  • ghuserという名前のGitHub個人ユーザーアカウント
  • repo.gitという名前のGitHubリポジトリ

コマンドライン:

# Makes a bare clone of the external repository in a local directory  
$ git clone --bare https://githost.org/extuser/repo.git

# Pushes the mirror to the new GitHub repository
$ cd *repo.git*
$ git push --mirror https://github.com/ghuser/repo.git

# Remove the temporary local repository.
$ cd ..
$ rm -rf repo.git

1
違いは何だgit clone --bareとはgit clone --mirror?ここで2番目のバリアントの方が適していますか?
user7610 2017年

0

私はgithub-backupと呼ばれるツールを使用して、ミラーではないにしても、少なくともGithubユーザーまたは組織の完全なバックアップ(問題やその他のメタデータを含む)を作成しました。READMEファイルを引用するには:

github-backupを実行するたびに、GitHubに新しいフォークが見つかります。のような名前を使用して、フォークのリポジトリにリモートを追加しますgithub_torvalds_subsurface。すべてのフォークからフェッチします。

各フォークからメタデータをダウンロードします。これは「github」という名前のブランチに保存されます。各フォークはのようなディレクトリをそこに取得しtorvalds_subsurfaceます。ディレクトリ内には、などのファイルがいくつかありますtorvalds_subsurface/watchers。コメントのように、さらにディレクトリがある場合がありますtorvalds_subsurface/comments/1

githubブランチへのコミットを追跡して、GitHubでどの情報が時間の経過とともに変化したかを確認できます。

githubブランチのファイルの形式は、現在Haskellのシリアル化されたデータ型です。これはプレーンテキストであり、目を細めると読みやすくなります。

制限は次のとおりです。

  • プライベートリポジトリのサポートなし
  • 星、フォロワーなどの「ソーシャル」なものはありません
  • コミット行へのメモはサポートされていません(まだ?)
  • 発行ラベル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.