コミットオブジェクトをチェックアウトするコマンドの説明
「git checkout」コマンドは、「コミットオブジェクト」を直接「チェックアウト」することもできます。「コミットオブジェクト」をチェックアウトすると、「HEAD」は分離したHEADになります。
「コミットオブジェクト」をチェックアウトすれば、任意の「スナップショット」からプロジェクトのファイル群を「ワーキングディレクトリー」に展開することができます。
コマンドのフォーマット
コマンドのフォーマットは以下のようになります。
git checkout <オプション> --detach <コミットオブジェクト>
チェックアウトに関するオプション
チェックアウトに関するオプションは、「ローカルブランチをチェックアウトするコマンドの説明」と同じオプションが使用できます。使用できるオプションの一覧やオプションの使用例は、上記を参考にしてください。
コミットオブジェクト
チェックアウトする「コミットオブジェクト」を指定します。「コミットオブジェクト」を指す参照で指定することもできます。
以下の指定方法が利用できます。
- ブランチ名
- タグ名
- コミットオブジェクトの識別子
- HEAD
1.ブランチ名
ブランチが指す「コミットオブジェクト」を指定します。2.タグ名
タグが指す「コミットオブジェクト」を指定します。3.コミットオブジェクトの識別子
直接「コミットオブジェクト」の識別子を指定します。コミットオブジェクトの識別子は、4文字以上を入力します。
4.HEAD
「HEAD」が指す「コミットオブジェクト」を指定します。「コミットオブジェクト」の指定を省略した時は、「HEAD」が指定された時と同じ動作を行います。
補足
このオプションにブランチを指定する場合は、「--detach」オプションの指定が必須です。このオプションにブランチ以外を指定する場合は、「--detach」オプションの省略が可能です。
コミットオブジェクトをチェックアウトする
「コミットオブジェクト」を「チェックアウト」します。ここでは例として、「sub」ブランチの「ブランチヘッド」が指す「コミットオブジェクト」を指定し、プロジェクトのファイル群を「ワーキングディレクトリー」に展開します。
1.ブランチの確認
ブランチの一覧を表示すると、以下のようになっています。2.コマンドの実行
「端末」から、以下のコマンドを実行します。
git checkout --detach sub
3.コマンドの実行結果
以下のようにメッセージが表示され、「sub」ローカルブランチが指す「コミットオブジェクト」が「チェックアウト」されます。4.ブランチの確認
ブランチを確認すると、以下のように分離した「HEAD」になっていることが分かります。また分離した「HEAD」は、「49a19c5」コミットオブジェクトを指しています。
これは「sub」ブランチが指すコミットオブジェクトの識別子と同じです。
ここからコミットを行うことも可能ですが、もし新たな変更を行うのであれば、ここを起点としてブランチを作成するのが良いです。