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

ローカルプロトコル(ファイルパス)を使用して、リモートリポジトリーをクローンする

  「ローカルプロトコル」(ファイルパス)を使用して、「リモートリポジトリー」をクローンします。
  「ローカルプロトコル」では、「リモートリポジトリー」の指定方法に以下の2種類があります。


  ここで紹介する内容は、前者の「リモートリポジトリーのファイルパスを指定」 する方法です。

  リモートリポジトリーの指定方法について

     「リモートリポジトリー」は、ファイルパスで指定します。

  1.ローカルリポジトリーの配置場所とリモートリポジトリー

    ここでは例として、「~/ドキュメント/git」フォルダー内に「myCloneProject」フォルダーを作成してもらい、「myCloneProject」フォルダー内にリポジトリーをクローンします。

    クローン元の「リモートリポジトリー」は、「~/ドキュメント/git/mySharedProject」です。


  2.カレントディレクトリーの移動

    「端末」を起動し、カレントディレクトリーを「~/ドキュメント/git」に移動します。


  3.コマンドの実行

    「リモートリポジトリー」をクローンします。
    コマンドの説明は、「リモートリポジトリーをクローンするコマンドの説明」を参考にしてください。

    ここでは、以下のコマンドを実行します。

git clone mySharedProject myCloneProject


  4.コマンドの実行結果

    以下のように、「リモートリポジトリー」がクローンされます。


  5.フォルダーの確認

    「Nautilus」を起動し「~/ドキュメント/git」フォルダーを見ると、以下のように「myCloneProject」フォルダーが作成されています。


  6.myCloneProjectフォルダーの確認

    「myCloneProject」フォルダーを開くと、クローンされた「ローカルリポジトリー」が配置されています。


    「.git」フォルダーが、「Gitディレクトリー」です。
    「myCloneProject」フォルダーが、「ワーキングディレクトリー」です。

    「test.txt」はチェックアウトされたプロジェクトのファイルです。

Gitオブジェクトのハードリンクについて

  「リモートリポジトリー」のパスを指定してリポジトリーをクローンした場合、「ローカルリポジトリー」の「Gitオブジェクト」は、「リモートリポジトリー」のファイルのハードリンクになります。

  1.リモートリポジトリーのファイル

    以下は、「リモートリポジトリー」にある「Gitオブジェクト」のファイルです。


  2.ローカルリポジトリーのファイル

    以下は、「ローカルリポジトリー」にある「Gitオブジェクト」ファイルです。
    「リモートリポジトリー」のコピーなので、中身は同じです。


  3.ファイルの情報

    上記2つのファイルの情報を表示して、確認します。
    以下は、「リモートリポジトリー」にあるファイルの情報です。


    以下は、「ローカルリポジトリー」にあるファイルの情報です。


    一番左に表示されるiノードの番号を比較すると、いずれのファイルも「1307673」になっています。
    従ってハードリンクで作成されたファイルということになります。

    ハードリンクで作成されるファイルは、不変的なファイルであり、中身を直接編集するようなファイルではありません。
    「Gitオブジェクト」がハードリンクされたファイルに該当します。

    上記でも見ての通り、アクセス権が読み取り専用になっています。

    ハードリンクでファイルを作成することで、「ローカルリポジトリー」が使用するHDDの使用量を削減することが出きます。


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