ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。
記事のバージョン: GitHub.com

リポジトリを複製する

フォークせずにリポジトリを複製するため、特別なクローンコマンドを実行して、新しいリポジトリにミラープッシュすることができます。

リポジトリを複製してリポジトリの新しいコピー、つまりミラーにプッシュできるようにするには、その前に GitHub に新しいリポジトリを作成する必要があります。 以下の例では、exampleuser/new-repository および exampleuser/mirrored がミラーです。

リポジトリをミラーする

  1. ターミナルターミナルGit Bashターミナル を開いてください。

  2. リポジトリのベアクローンを作成します。

$ git clone --bare https://github.com/exampleuser/old-repository.git
  1. 新しいリポジトリをミラープッシュします。

    $ cd old-repository.git
    $ git push --mirror https://github.com/exampleuser/new-repository.git
  2. ステップ 1 で作成した一時ローカル リポジトリを削除します。

    $ cd ..
    $ rm -rf old-repository.git

Git Large File Storageオブジェクトを含むリポジトリをミラーする

  1. ターミナルターミナルGit Bashターミナル を開いてください。

  2. リポジトリのベアクローンを作成します。 ユーザ名の例をリポジトリを所有する人や Organization の名前に置き換え、リポジトリ名の例を複製したいリポジトリの名前に置き換えてください。

    $ git clone --bare https://github.com/exampleuser/old-repository.git
  3. クローンしたリポジトリに移動します。

    $ cd old-repository.git
  4. リポジトリの Git Large File Storage オブジェクトをプルします。

    $ git lfs fetch --all
  5. 新しいリポジトリをミラープッシュします。

    $ git push --mirror https://github.com/exampleuser/new-repository.git
  6. リポジトリの Git Large File Storage オブジェクトをミラーにプッシュします。

    $ git lfs push --all https://github.com/exampleuser/new-repository.git
  7. ステップ 1 で作成した一時ローカル リポジトリを削除します。

    $ cd ..
    $ rm -rf old-repository.git

リポジトリを別の場所にミラーする

リポジトリを別の場所にミラーし、オリジナルの更新も取得したい場合は、ミラーをクローンして、定期的に変更をプッシュします。

  1. ターミナルターミナルGit Bashターミナル を開いてください。

  2. リポジトリのミラーしたベアクローンを作成します。

    $ git clone --mirror https://github.com/exampleuser/repository-to-mirror.git
  3. プッシュの場所をミラーに設定します。

    $ cd repository-to-mirror.git
    $ git remote set-url --push origin https://github.com/exampleuser/mirrored

ベアクローンと同様に、ミラーしたクローンにはリモートブランチとタグがすべて含まれますが、ローカルの参照はすべてフェッチするたびに上書きされるため、常にオリジナルのリポジトリと同じ状態となります。 プッシュする URL を設定することで、ミラーへのプッシュが簡素化されます。 ミラーを更新するには、更新をフェッチしてプッシュします。

$ git fetch -p origin
$ git push --mirror

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください