現在のコミットのメタデータを書き換える
「ブランチヘッド」 が指す「コミットオブジェクト」のメタデータを書き換えます。メタデータとは、オーサーの情報や「コミットメッセージ」のことです。
デフォルトでは、「コミットメッセージ」のみ書き換えます。
オーサーの情報は、置き換える「コミットオブジェクト」のオーサーの情報を引き継ぎますが、オーサーの情報を変更するオプションを併用することで、オーザーの情報も書き換えることができます。
コミッターの情報は、コミットした人の情報になるため、メタデータを書き換えたユーザーの情報になります。
1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「master」ブランチであることが分かります。
同様に、「HEAD」は「master」ブランチを指していることが分かります。
2.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。現在の「ブランチヘッド」 が指す「コミットオブジェクト」のメタデータを書き換えるので、「Commit3」のメタデータを書き換えます。
3.ワーキングディレクトリーの状態
「ワーキングディレクトリー」の状態を確認すると、以下のようになっています。「ステージングエリア」に追加されているファイルがありますが、メタデータを書き換えるだけなので、これらのファイルはコミットに影響しません。
4.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。ショートオプション | ロングオプション |
---|---|
ー | --amend |
-o | --only |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「スナップショットを生成するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git commit --amend --only
5.コミットメッセージの入力
テキストエディターが起動し、「コミットメッセージ」を入力する画面が表示されます。「Commit3」の「コミットメッセージ」が入力されています。
「コミットメッセージ」を入力したら、ファイルを上書き保存してテキストエディターを終了します。
6.コマンドの実行結果
以下のように、コミットが行われます。7.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。「master」ブランチが指す「コミットオブジェクト」の識別子が、「1.」と異なっています。