IT·テック

コミット

ゲームで難しいボス戦に入る直前、失敗してもいつでも戻ってこられるように押しておく「セーブポイント」です。

  • 約3分
  • 図 2点
  • 2026-10-13 検証

定義

コミットとは、Git(コードのバージョン管理ツール)で作業した変更内容を永続的に記録し、ひとつの「スナップショット(ある瞬間の写真)」として残すことです。いつ、誰が、何をなぜ変更したのかというメモと一緒に保存されるので、後からいつでもこの時点まで作業を巻き戻せます。

好きなときにいつでも戻れるセーブポイント

文書を作成している途中で、大事な部分を誤って消してしまったり、パソコンが突然落ちて頭が真っ白になったりした経験はありませんか。そんなとき私たちは「最終.docx」「本当の最終.docx」「本当に本当の最終_修正.docx」のように、ファイルを何度もコピーして名前を変えがちです。でもファイルが何十個にも増えると、いったいどこがどう変わったのか分からなくなってしまいます。

コミットは、こうした面倒なファイルのコピーなしで、作業ファイルのある瞬間をタイムマシンの着陸地点のようにパシャッと撮って残す機能です。作業中のファイル全体の状態をスナップショットとして残しながら、同時に何を直したのかという記録も残します。

こうしてコミットをコツコツ積み重ねておけば、コードが壊れたりエラーが出たりしても怖くありません。以前うまく動いていた特定のコミット時点にきれいに戻れるからです。

写真を撮る前にカメラの前へ集まる手順

コミットするとき、ファイルを1つ修正した瞬間にすぐ記録されるわけではありません。まず、修正した複数のファイルのうち、今回の保存に含めるものを選んで入れる「ステージング(準備)」という段階を踏みます。

集合写真を撮るとき、全員ではなく今回写真に入る人だけがステージに上がるのと同じです。買い物かごに商品を入れておいて、まとめて会計するのにも似ています。入れたいファイルをステージに並べたあとで、シャッターを切る命令がコミットです。

そして写真の裏に日付やメモを書くように、コミットのたびに「ログインエラーを修正」のようなコミットメッセージ(説明文)を必ず書く必要があります。このメモのおかげで、同僚の開発者もコードをいちいち開かなくても、どんな変更があったのかをひと目で把握できます。

もう少し正確に言うと:全体コピーではありません

毎回ファイル全体をまるごとコピーして保存していたら、パソコンの容量がすぐにいっぱいになってしまいそうですよね。Gitは容量を節約するために、とても賢い方法を使っています。

前回のコミットと比べて変更があったファイルだけを新しく保存し、変更のないファイルは、すでに保存済みのデータをそのまま指し示すリンクの形で保管します。変更したファイルも、最初はまるごと圧縮して保存しておき、あとで似たデータ同士の差分だけを残す圧縮を別途行うこともあります。見た目はプロジェクト全体の完全なスナップショットですが、実際には必要最小限の容量だけで軽く保存されている仕組みです。

また、コミットごとに固有の識別値(ハッシュ値)が付くので、互いに混ざることはありません。各コミットは直前のコミットのハッシュ値も一緒に記録するため、前のコミットとつながった順番どおりに鎖のように連なります。過去のコミットの内容がこっそり書き換えられるとハッシュ値が変わってしまうので、すぐに気づけます。

よくある誤解

誤解

コミットを押すと、自分のコードがすぐにインターネットにアップされて、みんなに公開される。

事実

自分のパソコンでGitを使って作ったコミットは、まず自分のパソコン(ローカル)の中だけに保管される個人用のセーブファイルです。「プッシュ(Push)」という別のコマンドでリモートリポジトリに送るまでは、他の人と共有されません。ただし、GitHubのようなウェブサイト上で直接コミットした場合は、すぐにリモートリポジトリに記録されます。

日常で出会う場面

  1. 新しいログイン機能を完成させたあと、「ログイン機能を追加」というコミットメッセージと一緒に変更内容を保存します。

  2. コードを直している途中でプログラムが完全に壊れてしまったとき、昨日正常に動いていたコミット時点までプロジェクト全体を巻き戻します。

つまり ひとことで

コミットは、作業したコードの変更内容を説明メモと一緒に安全に残す、デジタルのセーブポイントです。

作成 2024-08-14 更新 2026-10-13 検証 2026-10-13