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の方法でそれを行う方法はありますか?
Githubのサポートチームとのコミュニケーションに基づいて、githubは現在、この方法でリポジトリをミラーリングするための直接的なメカニズムをユーザーに提供していないことがわかりました。
ただし、組織の一部であるリポジトリに対してこのサービスをインストールするようにgithubに依頼できます。次に、Githubは既存のリポジトリをそのようなミラーとして構成し、所有するミラー全体の数の関数である間隔でそこからプルします。
[〜#〜] edit [〜#〜]:Stuartが指摘しているように、githubは任意のリポジトリのミラーリングのリクエストを受け付けなくなりました。残っている唯一のオプションは、質問で投稿したソリューションです。つまり、受信後フックを作成して、自動的にgithubリポジトリにプッシュします。
Githubの次のページには、外部gitリポジトリへのミラーをセットアップするために必要な手順が記載されています。 https://help.github.com/articles/importing-an-external-git-repo
https://github.com/mirrors の現在のコンテンツから判断すると、GitHubがコードをミラーリングすることを望んでいるほとんどのプロジェクトが組織を作るだけなので、GitHubはもはや「公式ミラー」を行わないようです。 Git自体 など。
機能リクエストもあります: https://github.com/isaacs/github/issues/415
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
github-backup というツールを使用して、ミラーではないにしても、少なくともGithubユーザーまたは組織の完全バックアップ(問題やその他のメタデータを含む)を作成しました。 READMEファイル を引用するには:
Github-backupを実行するたびに、GitHubで新しいフォークが検出されます。
github_torvalds_subsurface
などの名前を使用して、フォークのリポジトリにリモートを追加します。すべてのフォークからフェッチします。各フォークからメタデータをダウンロードします。これは「github」という名前のブランチに保存されます。各フォークは、
torvalds_subsurface
などのディレクトリを取得します。ディレクトリ内には、torvalds_subsurface/watchers
などのいくつかのファイルがあります。コメントのように、torvalds_subsurface/comments/1
などのディレクトリがさらに存在する場合があります。GitHubブランチへのコミットをフォローして、GitHubでどのような情報が変更されたかを確認できます。
Githubブランチのファイルの形式は、現在Haskellシリアル化されたデータ型です。これはプレーンテキストであり、目を細めると読みやすくなります。
制限事項は次のとおりです。