git commit の使い方

記録する

書き方

git commit -m "メッセージ"
git commit -am "メッセージ"
git commit --amend [-m …] [--no-edit]
git commit --fixup コミット
git commit --no-verify

ステージした内容を 1 つのコミットとして記録します。-a は追跡中のファイルの変更を自動でステージ。--amend は直前のコミットを作り直します。--fixup は「fixup! 件名」のコミットを作ります(rebase -i --autosquash でまとめる)。.git/hooks の pre-commit・commit-msg が動き、--no-verify で飛ばせます。

よく使うオプション

オプション意味
-m "メッセージ"エディタを開かずに、メッセージを付けて記録する
-a追跡しているファイルの変更を自動でステージしてから記録する
--amend直前のコミットを作り直す(メッセージの直しや入れ忘れ)
--no-edit--amend のとき、メッセージを変えない
--fixup コミットあとで rebase でまとめるための「fixup!」のコミットを作る
--no-verifypre-commit などのフックを動かさない

例

$ git commit -m "トップページの見出しを直す"[main 3f2a1c9] トップページの見出しを直す
 1 file changed, 2 insertions(+), 1 deletion(-)

ステージした変更を、メッセージを付けて 1 つのコミットとして記録します。

$ git commit -am "誤字を直す"

追跡しているファイルの変更を add と同時に記録します。新しいファイルは入らないので注意します。

$ git commit -a --amend --no-edit

直前のコミットに、入れ忘れた変更を足して作り直します。-a で追跡中のファイルの変更をまとめて入れ、メッセージはそのままにします。

$ git commit --amend -m "ログイン画面を作る"

直前のコミットのメッセージだけを書き直します。

よくある間違い・注意

  • --amend はコミットを新しく作り直すので、もう push したコミットに使うと、ほかの人の履歴と合わなくなります。
  • 最初に git config で名前とメールアドレスを設定していないと、コミットできないか、思わぬ名前で記録されます。
  • メッセージは「何をしたか」が後から分かるように書きます。「修正」だけだと、履歴を見ても分かりません。

実際に打って練習する

Git コースの Lv4「記録する git commit」で覚えます(第1章 はじめての記録)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Git コマンド一覧(使い方と例)へ戻る