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

リモートリポジトリーをクローンするコマンドの説明

  「git clone」コマンドは、「リモートリポジトリー」をクローンするコマンドです。
  このコマンドは、「リモートリポジトリー」を自分の環境にコピーして、「ローカルリポジトリー」を構築します。


  通常、「ノンベアリポジトリー」としてクローンすることがほとんどだと思いますが、「ベアリポジトリー」として、クローンすることも可能です。

  リモートトラッキングブランチの作成

   必要に応じて「リモートリポジトリー」にあるそれぞれのブランチに対応した、「リモートトラッキングブランチ」を作成します。

  ローカルブランチの作成とチェックアウト

    「リモートリポジトリー」の「HEAD」が指すブランチを、「ローカルリポジトリー」に作成します。
    また、作成した「ローカルリポジトリー」からチェックアウトを行い、「ワーキングディレクトリー」にプロジェクトのファイル群を展開します。

コマンドのフォーマット

  コマンドのフォーマットは以下のようになります。

git clone <オプション> <クローンするリポジトリー> <リポジトリーを保存するパス>

ローカルプロトコルに関するオプション

  「ローカルプロトコル」に関するオプションです。
  いずれのオプションも省略可能です。

  ハードリンクを作成しない(--no-hardlinks)   

    このオプションを指定すると、ハードリンクによる「Gitオブジェクト」のコピーを禁止し、常に通常のファイルのコピー方法で「リモートリポジトリー」から「ローカルリポジトリー」へ「Gitオブジェクト」のコピーを行います。

    「ハードリンクによるGitオブジェクトのコピーを禁止し、リモートリポジトリーをクローンする」を参考にしてください。

  Gitオブジェクトを共有する(--shared, -s)

    このオプションを指定すると、「リモートリポジトリー」クローン時、「リモートリポジトリー」の「Gitオブジェクト」を「ローカルリポジトリー」にコピーしません。

    「ローカルリポジトリー」が必要とする「Gitオブジェクト」は、「リモートリポジトリー」の「Gitオブジェクト」を参照するようになります。

    「Gitオブジェクトを共有して、リモートリポジトリーをクローンする」を参考にしてください。

リポジトリーに関するオプション

  リポジトリーに関するオプションです。
  いずれのオプションも省略可能です。

  Gitオブジェクトを参照するリモートリポジトリーを指定する(--reference)

    「Gitオブジェクト」を参照する「リモートリポジトリー」を指定します。

    このオプションを利用すると、「Gitオブジェクト」の参照先「リモートリポジトリー」を指定することが出きます。

    「Gitオブジェクトを共有する(--shared, -s)」オプションとも相性が良いです。

    「Gitオブジェクトを参照するリポジトリーを指定して、リモートリポジトリーをクローンする」を参考にしてください。

  ベアリポジトリーを作成する(--bare)

    このオプションを指定すると、「ベアリポジトリー」を作成します。
    このオプションを指定しないと、「ノンベアリポジトリー」を作成します。

    「ベアリポジトリー」には、「ワーキングディレクトリー」がないため、暗黙のうちに「チェックアウトを行わない(--no-checkout, -n)」オプションも指定されます。

    「リモートリポジトリーをベアリポジトリーとしてクローンする」を参考にしてください。


  リポジトリーのミラーを作成する(--mirror)    

    このオプションを指定すると、「ミラーリポジトリー」(ベアリポジトリー)を作成します。
    このオプションを指定しないと、「ノンベアリポジトリー」を作成します。

    「ベアリポジトリーを作成する(--bare)」オプションも、暗黙のうちに指定されます。

    「リモートリポジトリーをミラーリポジトリーとしてクローンする」を参考にしてください。

クローンに関するオプション

  クローンに関するオプションです。
  いずれのオプションも省略可能です。

  リモートリポジトリー名を変更する(--origin, -o)

    リモートリポジトリー名を変更します。
    デフォルトのリモートリポジトリー名は「origin」ですが、このオプションで名称を変更することができます。

    「リモートリポジトリー名を変更して、リモートリポジトリーをクローンする」を参考にしてください。

  テンプレートディレクトリーの指定(--template=)

    「テンプレートディレクトリー」のパスを指定します。
    パスの指定は、相対パスでも絶対パスでも良いです。

    「テンプレートディレクトリーを指定して、リモートリポジトリーをクローンする」を参考にしてください。

  gitディレクトリーの指定(--separate-git-dir=)

    「Gitディレクトリー」のパスを指定します。
    このオプションを省略すると、デフォルトのパスが使用されます。

    「Gitディレクトリー」と「ワーキングディレクトリー」を別々のフォルダーに分けたい時に指定します。

    「Gitディレクトリーを指定して、リモートリポジトリーをクローンする」を参考にしてください。

  リポジトリー固有の設定を指定(--config, -c)

    リポジトリー固有の設定を指定します。
    クローン時に適用したい設定を、このオプションで指定します。

    「リポジトリー固有の設定を指定して、リモートリポジトリーをクローンする」を参考にしてください。

  サブモジュールをすべて初期化する(--recursive, --recurse-submodules)

    「リモートリポジトリー」内のすべてのサブモジュールを初期化します。
    クローン後、「git submodule update --init --recursive」を実行するのと同じです。

    「リモートリポジトリーをクローン後、すべてのサブモジュールを初期化する」を参考にしてください。

シャロークローンに関するオプション

  「シャロークローン」に関するオプションです。
  いずれのオプションも省略可能です。

  シャロークローンの指定(--depth)

    このオプションを指定すると、「シャロークローン」を行います。
    また、取得するブランチの「スナップショット」の世代を、数値で指定します。

    デフォルトで「--single-branch」オプションも指定されます。

   「シャロークローンを指定して、リモートリポジトリーをクローンする」を参考にしてください。

  スナップショットを取得するブランチの制御(--single-branch/--no-single-branch)

    「--single-branch」オプションを指定すると、現在のブランチもしくは、指定されたブランチの「スナップショット」のみを取得します。

    「--no-single-branch」オプションを指定すると、すべてのブランチの「スナップショット」を取得します。
    取得する「スナップショット」の数は、「シャロークローンの指定(--depth)」で指定します。

   「すべてのブランチを対象にシャロークローンを行い、リモートリポジトリーをクローンする」を参考にしてください。

チェックアウトに関するオプション

  チェックアウトに関するオプションです。
  いずれのオプションも省略可能です。

  チェックアウトを行わない(--no-checkout, -n)

    クローン完了後、チェックアウトを行いません。
    「リモートリポジトリーのクローン後、チェックアウトを行わない」を参考にしてください。

  チェックアウトするブランチやタグを指定する(--branch, -b)

    クローン完了後、チェックアウトするブランチタグを指定します。
    「チェックアウトするブランチやタグを指定して、リモートリポジトリーをクローンする」を参考にしてください。

その他のオプション

  その他のオプションです。
  いずれのオプションも省略可能です。

  git-upload-packコマンドのパスを指定(--upload-pack, -u)

    「git-upload-pack」コマンドの場所を指定します。

    リポジトリーをクローンする際、「git-upload-pack」コマンドが見つからないエラーが出た時は、このオプションで「git-upload-pack」コマンドの場所を指定します。

    「git-upload-packコマンドの場所を指定して、リモートリポジトリーをクローンする」を参考にしてください。

情報の出力に関するオプション

  コマンド実行時、クローンの進捗情報など情報の出力に関するオプションです。
  いずれのオプションも省略可能です。

  出力する情報の抑制(-q, --quiet)

    コマンド実行時、警告とエラー以外のメッセージを出力しません。

  詳細情報の出力(--verbose, -v)

    コマンド実行時、詳細情報を出力します。

  進捗の表示(--progress)

    標準エラー(stderr)がターミナルに関連付けられていない時は、クローンの進捗情報を出力しません。

    このオプションを指定すると、標準エラー(stderr)がターミナルに関連付けられていない時でも、標準エラー(stderr)にクローンの進捗情報を出力します。

    「端末」からコマンドを実行するときは、このオプションを指定しなくても、クローンの進捗情報が出力されます。

クローンするリモートリポジトリー

  クローンする「リモートリポジトリー」を指定します。
  このオプションは省略できません。

  「リモートリポジトリー」の指定方法は、以下を参考にしてください。


リポジトリーを保存するパス

  クローンした「リモートリポジトリー」を保存(配置)するフォルダーを指定します。
  相対パスでも絶対パスでも良いです。

  すでに存在しているフォルダーは指定できない

    すでに存在しているフォルダーを指定することはできません。
    すでに存在しているフォルダーを指定した場合、クローンに失敗します。

  リポジトリーを保存するパスの省略

    リポジトリーを保存するパスを省略した時は、コマンド実行時のカレントディレクトリー内に、「リモートリポジトリー」と同じ名称のフォルダーを作成します。

    また、そのフォルダー内にリポジトリーをクローンします。

  リポジトリーを保存するパスの省略例

    リポジトリーを保存するパスの省略例です。
    例えば以下のコマンドで、「リモートリポジトリー」をクローンしたとします。

git clone git://192.168.56.1/app/new/mySharedProject


    この場合、カレントディレクトリー内に「mySharedProject」フォルダーが作成されます。


    また、「mySharedProject」フォルダー内にリポジトリーがクローンされます。


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


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