スナップショットから、プロジェクトの特定のファイルをワーキングディレクトリーに展開するコマンドの説明
「git checkout」コマンドは、「スナップショット」から、プロジェクトの特定のファイルを「ワーキングディレクトリー」に展開することもできます。コマンドのフォーマット
コマンドのフォーマットは以下のようになります。
git checkout <オプション> <ツリーオブジェクト> <ファイル名>
基本的な使い方は、「スナップショットから、特定のプロジェクトのファイルをワーキングディレクトリーに展開する」を参考にしてください。
オプション
以下のいずれかのオプションが指定できます。いずれのオプションも省略できますが、複数のオプションを併用することはできません。
スパースチェックアウトモードを無効にする(--ignore-skip-worktree-bits)
スパースチェックアウトモードを無効にして、「チェックアウト」を行います。このオプションの使用例は、「スパースチェックアウトモードを無効にして、スナップショットから特定のファイルをワーキングディレクトリーに展開する」を参考にしてください。
マージコンフリクトに関するオプション
「マージコンフリクト」に関するオプションです。いずれのオプションも省略できますが、これらのオプションを複数組み合わせて指定することはできません。
また、「ステージングエリア」からファイルを「チェックアウト」する時に使用するオプションなので、これらのオプションを指定する時は、「ツリーオブジェクト」の指定を省略します。
チェックアウトを続行する(-f)
「チェックアウト」を行う際、「マージコンフリクト」が発生しているファイルがチェックアウト対象に含まれている場合、「チェックアウト」を行うことができません。このオプションを利用すると、「マージコンフリクト」が発生しているファイルを除いて「チェックアウト」を行います。
このオプションの使用例は「マージコンフリクトが発生しているファイルを除いて、ステージングエリアから特定のファイルをワーキングディレクトリーに展開する」を参考にしてください。
マージコンフリクト発生時のファイルをチェックアウトする(-m, --merge)
マージコンフリクト発生時のファイルを「チェックアウト」します。指定したファイルに対して再度3ウェイマージを実行するのと同じです。
このオプションは、「マージコンフリクト」が発生したファイルに対して使用します。
このオプションを利用すると、再度マージ作業をやり直すことができます。
このオプションの使用例は「マージコンフリクト発生時のファイルをチェックアウトする」を参考にしてください。
コンフリクトマーカーのスタイルを指定する(--conflict=)
「コンフリクトマーカー」のスタイルを指定して、「マージコンフリクト」発生時のファイルをチェックアウトします。このオプションは、「マージコンフリクト」が発生したファイルに対して使用します。
このオプションの使用例は「コンフリクトマーカーのスタイルを指定して、マージコンフリクト発生時のファイルをチェックアウトする」を参考にしてください。
HEADからファイルをチェックアウトする(--ours)
「HEAD」からファイルをチェックアウトします。このオプションは、「マージコンフリクト」が発生したファイルに対して使用します。
このオプションの使用例は「マージコンフリクトが発生したファイルを、HEADからチェックアウトする」を参考にしてください。
マージするブランチからファイルをチェックアウトする(--theirs)
マージするブランチのブランチヘッドからファイルを「チェックアウト」します。このオプションは、「マージコンフリクト」が発生したファイルに対して使用します。
このオプションの使用例は「マージコンフリクトが発生したファイルを、マージするブランチからチェックアウトする」を参考にしてください。
ツリーオブジェクト
ファイルが格納されている「ツリーオブジェクト」を指定します。「ツリーオブジェクト」を指す参照で指定することもできます。
以下の指定方法が利用できます。
- ブランチ名
- タグ名
- コミットオブジェクトの識別子
- ツリーオブジェクトの識別子
- HEAD
1.ブランチ名
ブランチが指す「コミットオブジェクト」から「ツリーオブジェクト」を指定します。2.タグ名
タグが指す「コミットオブジェクト」から「ツリーオブジェクト」を指定します。3.コミットオブジェクトの識別子
「コミットオブジェクト」の識別子を指定します。「コミットオブジェクト」から「ツリーオブジェクト」を指定できます。
コミットオブジェクトの識別子は、4文字以上を入力します。
4.ツリーオブジェクトの識別子
直接「ツリーオブジェクト」の識別子を指定します。ツリーオブジェクトの識別子は、4文字以上を入力します。
5.HEAD
「HEAD」が指す「コミットオブジェクト」から「ツリーオブジェクト」を指定します。ツリーオブジェクトの指定を省略した場合
「ツリーオブジェクト」の指定を省略した場合は、「ステージングエリア」が指定されたものとして扱われます。ファイル名
「スナップショット」から展開するファイルのファイル名を指定します。複数のファイルを指定する場合は、スペース区切りでファイル名を指定します。
ファイル名にスペースが含まれる場合など、ファイル名を正しく認識させるには、「'」でファイル名を括ってください。
例:'test.txt'
パスの指定について
サブフォルダー以下のファイルを展開する場合は、パスの記述を行います。例:src/main.c
ブランチ名とファイル名が重複する場合は
既存のブランチのブランチ名とファイル名が重複する場合は、ブランチの「チェックアウト」を優先するため、そのままでは「スナップショット」からファイルを展開することができません。ファイル名の指定であることを明示するには、「--」オプションをファイル名の前に記述します。
「ファイル名の指定を明示して、スナップショットから特定のファイルをワーキングディレクトリーに展開する」を参考にしてください。
ワイルドカードによる指定
ワイルドカードによる指定も可能です。例えば、「*.txt」のように記述することも可能です。
ワイルドカードによるファイル名の指定は、「ワイルドカードを利用して、スナップショットから特定のファイルをワーキングディレクトリーに展開する」を参考にしてください。