git commit
ステージングエリアの内容をリポジトリに記録します。変更履歴の1つのスナップショットを作成します。
構文
git commit [-m <message>] [options] git commit は、ステージングエリア(git add で追加した内容)をリポジトリの履歴として保存します。コミットは Git の最小単位であり、変更の「保存ポイント」になります。
基本的な使い方
# ファイルをステージングしてからコミット
git add README.md
git commit -m "README を追加"
# ステージングとコミットを一度に(追跡済みファイルのみ)
git commit -am "バグを修正"
良いコミットメッセージの書き方
# 悪い例
git commit -m "修正"
git commit -m "update"
# 良い例
git commit -m "ログイン画面のバリデーションエラーを修正"
git commit -m "feat: ユーザー認証機能を追加"
コミットメッセージは「何を」より「なぜ」を重視して書くと、後から履歴を読む人に役立ちます。
直前のコミットを修正する
# メッセージを修正する
git commit --amend -m "正しいメッセージ"
# ファイルを追加してコミットをやり直す
git add forgotten-file.txt
git commit --amend --no-edit
注意:
--amendは Git の履歴を書き換えます。すでにgit pushしたコミットには使わないでください。
コミットの仕組み
各コミットは以下の情報を持ちます。
- ツリー: そのコミット時点のファイル構造のスナップショット
- 親コミット: 直前のコミットへの参照(履歴の連鎖)
- 作者・日時: 変更を行った人と時刻
- メッセージ: 変更内容の説明
- ハッシュ: SHA-1 で生成されたコミットの一意な ID(例:
a1b2c3d)