ミラーリポジトリー
「ミラーリポジトリー」は、他のリポジトリーをミラーリングするリポジトリーです。リモートリポジトリーと同期可能
「ミラーリポジトリー」は、「リモートリポジトリー」と同期することができます。また異なる「リモートリポジトリー」にリポジトリーの内容をすべてコピーすることもできます。
「ミラーリポジトリー」は、リポジトリーが保持している以下の情報をミラーします。
ミラーの活用
「リモートリポジトリー」の情報が含まれているため、自分の「ローカルリポジトリー」で行った変更を、他の人に公開して確認してもらいたい時に利用できます。また「リモートリポジトリー」と同期できるため、定期的な同期を利用したリポジトリーのミラーリング(バックアップ)にも利用できます。
加えて、ユーザーがアクセスする「リモートリポジトリー」を分散させることもできます。
同期は自動的に行われない
「リモートリポジトリー」と「ミラーリポジトリー」の同期は、自動的には行われません。定期的に同期を行いたいならば、cronで定期的にミラーを実行するなど、ユーザー側で対応する必要があります。
ブランチやタグが上書きされる
同期を行うということは、無条件にブランチやタグの上書きが行われるということです。「ミラーリポジトリー」を作成するなら、ミラー元とミラー先の関係を正確に把握しておく必要があります。
また、同期を行うタイミングに注意してください。
同期するタイミングを間違えると、意図しない上書きが発生し、データの損失につながります。
特に複数の「ミラーリポジトリー」を作成する時は、誤って上書きを行わないように注意してください。
ミラーリポジトリーの種類
「ミラーリポジトリー」には、ミラー方法に応じて、以下の種類があります。- fetchのみミラー
- pushのみミラー
- fetch/pushのミラー
fetchのみミラー
fetchのみミラーを行います。fetchとは、「リモートリポジトリー」からデータを取得することです。
「リモートリポジトリー」からfetchを行う際、「リモートリポジトリー」の情報が「ローカルリポジトリー」にコピーされます。
「ローカルリポジトリー」の情報は、すべて上書きされます。
「ローカルリポジトリー」に、「リモートリポジトリー」に存在しないブランチがあれば、そのブランチは削除されます。
pushのみミラー
pushのみミラーを行います。pushとは、「リモートリポジトリー」へデータを転送することです。
「ローカルリポジトリー」から「リモートリポジトリー」にpushを行う際、「ローカルリポジトリー」の情報が「リモートリポジトリー」にコピーされます。
「リモートリポジトリー」の情報は、すべて上書きされます。
「リモートリポジトリー」に、「ローカルリポジトリー」に存在しないブランチがあれば、そのブランチは削除されます。
fetch/pushのミラー
fetch及びpushでミラーを行います。このタイプの「ミラーリポジトリー」は、「ベアリポジトリー」になります。
また、このタイプの「ミラーリポジトリー」は、リポジトリーのクローン時に作成します。
fetchもpushもミラーを行うため、同期を行うタイミングに注意してください。