フェッチをミラーするリモートリポジトリーをローカルリポジトリーに追加する
fetchをミラーする「リモートリポジトリー」を「ローカルリポジトリー」に追加します。fetchをミラーするため、「ローカルリポジトリー」の参照を「リモートリポジトリー」の参照で上書きします。
参照とは、Gitオブジェクトを参照するブランチやタグのことです。
注意
「ローカルリポジトリー」のブランチを「リモートリポジトリー」の参照で上書きするため、「ローカルリポジトリー」のブランチ上で行われた独自のコミット(スナップショット)は、fecth実行時に失われます。もし、チェックアウトしているブランチの上書きが行われた場合、プロジェクトのファイル群とリポジトリーとの整合性が取れなくなります。
そのため、この方法で「リモートリポジトリー」を「ローカルリポジトリー」に追加する場合は、自身が「ベアリポジトリー」でなければなりません。
「ベアリポジトリー」は「ワーキングディレクトリー」が存在しないため、上記のような整合性が取れなくなる問題は起きません。
1.リモートリポジトリーの確認
現在「ローカルリポジトリー」登録されている「リモートリポジトリー」を確認すると、以下のようになっています。2.ブランチの確認
ブランチの一覧を表示すると、以下のようになっています。3.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション | オプションの値 |
---|---|
--mirror= | fetch |
「端末」から、以下のコマンドを実行します。
コマンドの説明は、「ローカルリポジトリーにリモートリポジトリーを追加するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git remote add -f --mirror=fetch myAnotherProject git://192.168.56.1/myAnotherProject
4.コマンドの実行結果
「リモートリポジトリー」を追加後、fetchが行われます。これ以降、ユーザーが追加した「リモートリポジトリー」に対して行うfetchも、ミラーによるfetchになります。