web-dev-qa-db-ja.com

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

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

これまでのところ、以下を使用してミラーをセットアップしました。

cd /path/to/bare/repository
git remote add --mirror github [email protected]:user/repo.git

git Push --quiet githubを実行するように受信後フックを構成します。ただし、この方法では、githubはミラーを認識しません。

「Mirrorred from」が再掲名の下に表示されるように、githubの方法でそれを行う方法はありますか?

103
mavam

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

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

[〜#〜] edit [〜#〜]:Stuartが指摘しているように、githubは任意のリポジトリのミラーリングのリクエストを受け付けなくなりました。残っている唯一のオプションは、質問で投稿したソリューションです。つまり、受信後フックを作成して、自動的にgithubリポジトリにプッシュします。

107
mavam

Githubの次のページには、外部gitリポジトリへのミラーをセットアップするために必要な手順が記載されています。 https://help.github.com/articles/importing-an-external-git-repo

8
Aidamina

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

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

7

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
3
Chetabahana

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

Github-backupを実行するたびに、GitHubで新しいフォークが検出されます。 github_torvalds_subsurfaceなどの名前を使用して、フォークのリポジトリにリモートを追加します。すべてのフォークからフェッチします。

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

GitHubブランチへのコミットをフォローして、GitHubでどのような情報が変更されたかを確認できます。

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

制限事項は次のとおりです。

  • プライベートリポジトリのサポートなし
  • 星やフォロワーなどの「ソーシャル」なものはありません
  • コミットの行へのメモはサポートされていません(まだ?)
  • 発行ラベル
0
anarcat