元のリポジトリをリポジトリの新しいコピー ("ミラー") にプッシュするには、your GitHub Enterprise Server instance で新しいリポジトリを作成する必要があります。 これらの例では、exampleuser/new-repository
または exampleuser/mirrored
はミラーです。
リポジトリをミラーする
- [ターミナル][ターミナル][Git Bash] を開きます。
- リポジトリのベアクローンを作成します。
$ git clone --bare https://ホスト名/EXAMPLE-USER/OLD-REPOSITORY.git
- 新しいリポジトリをミラープッシュします。
$ cd OLD-REPOSITORY.git $ git push --mirror https://ホスト名/EXAMPLE-USER/NEW-REPOSITORY.git
- 先ほど作成した一時ローカルリポジトリを削除します。
$ cd .. $ rm -rf OLD-REPOSITORY.git
Git Large File Storage オブジェクトを含むリポジトリをミラーする
- [ターミナル][ターミナル][Git Bash] を開きます。
- リポジトリのベアクローンを作成します。 ユーザ名の例をリポジトリを所有する人や Organization の名前に置き換え、リポジトリ名の例を複製したいリポジトリの名前に置き換えてく� さい。
$ git clone --bare https://ホスト名/EXAMPLE-USER/OLD-REPOSITORY.git
- クローンしたリポジトリに移動します。
$ cd OLD-REPOSITORY.git
- リポジトリの Git Large File Storage オブジェクトをプルします。
$ git lfs fetch --all
- 新しいリポジトリをミラープッシュします。
$ git push --mirror https://ホスト名/EXAMPLE-USER/NEW-REPOSITORY.git
- リポジトリの Git Large File Storage オブジェクトをミラーにプッシュします。
$ git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git
- 先ほど作成した一時ローカルリポジトリを削除します。
$ cd .. $ rm -rf OLD-REPOSITORY.git
別の� �所にあるリポジトリをミラーする
元のリポジトリから更新を取得するなど、別の� �所にあるリポジトリをミラーする� �合は、ミラーをクローンして定期的に変更をプッシュできます。
-
[ターミナル][ターミナル][Git Bash] を開きます。
-
リポジトリのミラーしたベアクローンを作成します。
$ git clone --mirror https://ホスト名/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git
-
プッシュの� �所をミラーに設定します。
$ cd REPOSITORY-TO-MIRROR $ git remote set-url --push origin https://ホスト名/EXAMPLE-USER/MIRRORED
ベアクローンと同様に、ミラーしたクローンにはすべてのリモートブランチとタグが含まれますが、フェッチするたびにすべてのローカルリファレンスが上書きされるため、常に元のリポジトリと同じになります。 プッシュする URL を設定することで、ミラーへのプッシュが簡� 化されます。
-
ミラーを更新するには、更新をフェッチしてプッシュします。
$ git fetch -p origin $ git push --mirror