リベースの自動スカッシュ(squash)用のコミットメッセージを生成して、コミットを行う
リベースの自動スカッシュ(squash)用のコミットメッセージを生成して、コミットを行います。「コミットメッセージ」の本文は自動スカッシュ先の「コミットオブジェクト」から引き継がれません。
もし「コミットメッセージ」の本文が必要なら、「コミットメッセージ」入力時に自分で本文を記述するか、以下のオプションを併用するとよいでしょう。
コマンドのオプションについて
コマンドのオプションは、以下のオプションを指定します。オプション | オプションの値 |
---|---|
--squash= | 自動スカッシュ(squash)先のコミットオブジェクト |
「コミットオブジェクト」には、以下の指定方法が利用できます。
- ブランチ
- タグ
- コミットオブジェクトの識別子
- HEAD
1.ブランチ
ブランチヘッドが指す「コミットオブジェクト」を指定します。2.タグ
タグが指す「コミットオブジェクト」を指定します。3.コミットオブジェクトの識別子
直接「コミットオブジェクト」の識別子を指定します。コミットオブジェクトの識別子は、4文字以上の識別子を入力します。
4.HEAD
「HEAD」が指す「コミットオブジェクト」を指定します。コマンドの実行例
コマンドの実行例です。1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「master」ブランチであることが分かります。
同様に、「HEAD」は「master」ブランチを指していることが分かります。
2.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。3.ワーキングディレクトリーの状態
「ワーキングディレクトリー」の状態を確認すると、以下のようになっています。4.コミットの実行
コマンドのオプションは、以下のオプションを指定します。オプション | オプションの値 |
---|---|
--squash= | 自動スカッシュ(squash)先のコミットオブジェクト |
「端末」から、以下のコマンドを実行します。
ここでは例として、「Commit3」を自動スカッシュ(squash)先に指定します。
コマンドの詳細は、「スナップショットを生成するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git commit --squash=HEAD
5.コミットメッセージの入力
以下のようにテキストエディターが起動し、「コミットメッセージ」の入力が促されます。「コミットタイトル」は変更せず、ファイルを上書き保存してください。
6.コミット完了
以下のように、コミットが実行されます。7.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。「master」ブランチが指す「コミットオブジェクト」の識別子が、「1.」と異なっています。