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-verify | pre-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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。