Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

リポジトリを複製する

リポジトリのミラーをフォークすることなく維持するには、特別なクローン コマンドを実行して、新しいリポジトリにミラープッシュします。

元のリポジトリをリポジトリの新しいコピー ("ミラー") にプッシュするには、your GitHub Enterprise Server instance で新しいリポジトリを作成する必要があります。__ これらの例では、exampleuser/new-repository または exampleuser/mirrored はミラーです。

リポジトリをミラーする

  1. [ターミナル][ターミナル][Git Bash] を開きます。
  2. リポジトリのベアクローンを作成します。
    $ git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
  3. 新しいリポジトリをミラープッシュします。
    $ cd OLD-REPOSITORY.git
    $ git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
  4. 先ほど作成した一時ローカルリポジトリを削除します。
    $ cd ..
    $ rm -rf OLD-REPOSITORY.git

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

  1. [ターミナル][ターミナル][Git Bash] を開きます。
  2. リポジトリのベアクローンを作成します。 ユーザ名の例をリポジトリを所有する人や Organization の名前に置き換え、リポジトリ名の例を複製したいリポジトリの名前に置き換えてください。
    $ git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
  3. クローンしたリポジトリに移動します。
    $ cd OLD-REPOSITORY.git
  4. リポジトリの Git Large File Storage オブジェクトをプルします。
    $ git lfs fetch --all
  5. 新しいリポジトリをミラープッシュします。
    $ git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
  6. リポジトリの Git Large File Storage オブジェクトをミラーにプッシュします。
    $ git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git
  7. 先ほど作成した一時ローカルリポジトリを削除します。
    $ cd ..
    $ rm -rf OLD-REPOSITORY.git

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

元のリポジトリから更新を取得するなど、別の場所にあるリポジトリをミラーする場合は、ミラーをクローンして定期的に変更をプッシュできます。

  1. [ターミナル][ターミナル][Git Bash] を開きます。

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

    $ git clone --mirror https://HOSTNAME/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git
  3. プッシュの場所をミラーに設定します。

    $ cd REPOSITORY-TO-MIRROR
      $ git remote set-url --push origin https://HOSTNAME/EXAMPLE-USER/MIRRORED

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

  4. ミラーを更新するには、更新をフェッチしてプッシュします。

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