kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。

フェッチをミラーするリモートリポジトリーをローカルリポジトリーに追加する

  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になります。

  5.リモートリポジトリーの確認

    「リモートリポジトリー」を確認すると、以下のように指定した「リモートリポジトリー」が「ローカルリポジトリー」に追加されています。


  6.ブランチの確認

    ブランチの一覧を表示すると、「myAnotherProject」にあるブランチが作成されていることが分かります。



関連コンテンツ
同一カテゴリーの記事
コメント
オプション