親コミットオブジェクトを持たないブランチを新規作成する
親コミットオブジェクトを持たない「ローカルブランチ」を新規作成します。1つのリポジトリー内に、親コミットオブジェクトを持たない「ローカルブランチ」を複数作成することができます。
親コミットオブジェクトを持たないため、作成した「ローカルブランチ」にブランチの起点は存在しませんが、ブランチの起点に指定した「コミットオブジェクト」からプロジェクトのファイル群が展開されます。
また、既存のどの「コミットオブジェクト」ととも関係を持ちませんが、後で他のブランチにマージすることは可能です。
1.ブランチの確認
ブランチの一覧を表示すると、以下のようになっています。「master」ローカルブランチと「sub」ローカルブランチと「fix」ローカルブランチがあることが分かります。
また、「*」マークが付いている「master」ローカルブランチが、現在のブランチであることが分かります。
2.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション |
---|
--orphan |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ローカルブランチを作成し、作成したローカルブランチをチェックアウトするコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git checkout --orphan fix sub
3.コマンドの実行結果
「fix」ローカルブランチが新規に作成され、「HEAD」は「fix」ローカルブランチを指すようになります。4.ブランチの確認
ブランチの一覧を表示すると、以下のようになっています。「fix」ローカルブランチは表示されません。
これは、「fix」ローカルブランチには「コミットオブジェクト」が1つも存在せず、ブランチヘッドがなにも指していないためです。
5.ワーキングディレクトリーの確認
「ワーキングディレクトリー」を確認すると、以下のように指定した「コミットオブジェクト」から展開したプロジェクトのファイル群が配置されています。「ワーキングディレクトリー」の状態を確認すると、プロジェクトのファイル群が新規に作成されたファイルとして認識されています。
6.コミットとブランチの確認
例として、「fix」ローカルブランチにコミットしてみます。コミットを行うと「コミットオブジェクト(スナップショット)」が作成され、「fix」ローカルブランチのブランチヘッドは、その「コミットオブジェクト」を指すようになります。
ブランチの一覧を表示すると、以下のようになっています。
「fix」ローカルブランチに「*」マークが付いており、現在のブランチが「fix」ローカルブランチであることが分かります。