【Git実践】コミットは”写真を撮る”こと

【Git実践】コミットは”写真を撮る”こと

*このシリーズはGit学習アプリ(maahh/git-learning-app)の第2章「コミットしてみる」に対応しています。*

git commitの仕組みを「写真を撮る」比喩で練習する

git commit(ジットコミット)の仕組みは、GitHubを使い始めた頃の私には正直わかりにくかったです。「コミットして」と言われるたびに「えっ、何を?」と思っていました。

コミット(commit)というのは、変更をリポジトリの履歴に「保存する」操作です。でもそれだけ聞いてもイメージが湧きにくい。

私にとってわかりやすかったのは「写真を撮る」という比喩でした。

カメラで写真を撮ると、その瞬間の風景が記録されます。git commitも同じで、そのタイミングのファイルの状態をまるごと記録します。撮った写真は上書きされません。いつでも見返せるし、昔の状態に戻ることもできます。

git addとgit commitの2ステップ

コミットは1コマンドでは完了しません。2段階に分かれています。


# ステップ1:変更をステージング(撮影の準備)
git add ファイル名

# ステップ2:コミットして記録(シャッターを切る)
git commit -m "何を変更したかを書く"

なぜ2段階なのかというと、「どのファイルの変更をまとめて記録するか」を自分で選べるようにするためです。

たとえばファイルを5つ変更したけど、バグ修正と機能追加を別々のコミットにしたい、という場合。`git add` で対象を選んで `git commit` するを繰り返せばいい。

最初は「面倒じゃない?」と思いましたが、履歴を振り返るときにとても助かります。

コミットメッセージの書き方

`git commit -m “…”` のダブルクォートの中がコミットメッセージです。


git commit -m "ログイン画面のデザインを修正"
git commit -m "ユーザー登録機能を追加"
git commit -m "READMEのインストール手順を更新"

メッセージのポイントは「何を、なぜ変更したか」がわかること。

「修正」「更新」だけでは後で見返したときに何をしたかわかりません。具体的に書くほど、将来の自分(やチームメンバー)が助かります。

コマンド例では日本語で書いていますが、プロジェクトによっては英語で書くルールのこともあります。Claude Codeに「このプロジェクトに合ったコミットメッセージを書いて」と頼むとうまくやってくれます。

コミットの正体:スナップショット

Gitのコミットは「差分(変更点だけ)」を保存するのではなく、そのときのファイル全体のスナップショットを保存しています(※ 内部的にはデータ重複を省く最適化がありますが、概念としてはスナップショット)。

各コミットにはSHA-1というアルゴリズムで生成された40文字のハッシュ値が割り振られます。`git log` で確認すると先頭7文字くらいが表示されます。


git log --oneline
# 例の出力:
# a1b2c3d ログイン画面のデザインを修正
# f4e5d6c ユーザー登録機能を追加
# 9g8h7i6 最初のコミット

この履歴をタイムラインのように辿れるのがGitの強みです。「3つ前の状態に戻りたい」というときも、そのコミットのハッシュを指定すれば戻れます。

Claude Codeでやってみた

私は最初、ターミナルでgitコマンドを打つのが怖かったので、Claude Codeに手伝ってもらいながら練習しました。

Claude Codeのチャット欄にこんなプロンプトを貼ると教えてもらえます:

プロンプト例(コピーして使えます)


私はGitのコミットを初めて練習しています。
現在のディレクトリにある変更を確認してから、適切なコミットメッセージを提案してください。

作業前に以下を表示してください:
1. git status の出力
2. どのファイルをgit addすべきか
3. 推奨するコミットメッセージ案を3つ

実行する前に、上記の情報を表示して確認を求めてください。
不明な点があれば推測せず、確認事項として列挙してください。

このプロンプトを使うと、いきなりコマンドを実行するのではなく「まず確認してから進める」流れになります。Gitの操作は基本的に元に戻せますが、慎重に進めるクセをつけておくと安心です。

よくあるミス:コミットメッセージを空にしてしまう

`git commit` とだけ打つと、テキストエディタが開いてメッセージを入力する画面になります。エディタが慣れていないとパニックになることも。

`-m` オプションをつけるのが簡単です:


git commit -m "ここにメッセージを書く"

もしエディタが開いてしまったら、`:q!` で閉じると操作を中断できます(Vimエディタの場合)。

アプリで実際に手を動かす

第2章「コミットしてみる」では、ブラウザ上の本物のターミナルでgit add・git commitを実際に操作できます。コマンドの動作を確認しながら習得できるので、読むだけより格段に定着します。

Git学習アプリで第2章を試す(無料・インストール不要)

まとめ

  • `git commit` はそのときのファイル全体の「写真を撮る」操作
  • `git add` でステージング → `git commit` で記録という2段階
  • コミットメッセージは「何を、なぜ変更したか」を具体的に書く
  • 各コミットはSHA-1ハッシュで一意に識別され、後から履歴を辿れる
  • わからないときはClaude Codeに「確認してから実行して」と頼むのが安全

コミットを積み重ねるほど、「いつでも戻れる」安心感が増します。最初は1ファイルずつ、小さな変更から試してみてください。

*前の記事:【Git実践】git initで”記録ノート”を作る*

*次の記事:【Git実践】diffで”何を変えたか”を自分の目で見る(近日公開)*

maah

この記事を書いた人

maah

非エンジニア。日々の業務にClaudeを取り入れた実体験を、初心者の目線で発信しています。