GitHubで「コミット」という言葉を見かけて、意味を知りたい人。ファイルのアップロードで「Commit changes」を押した人。コマンドは使いません。履歴を見るだけなら、ログインも要りません。
「コミットって何?」「履歴に並んでいる英数字は何?」「コミットメッセージには、何を書けばいい?」
コミットは、ファイルの変更を、説明つきで記録として保存する操作です。保存された1つ1つの記録も、コミットと呼びます。GitHubは、コミットを順に並べて、履歴として見せてくれます。ブラウザで「Commit changes」を押すたびに、コミットが1つ増えるイメージです。
この記事は、実際のリポジトリの履歴を画面で見ながら、コミットの中身、コミットID、メッセージの付け方を説明します。使うのは、これまでの記事で作った「my-first-repo」です。
- コミットが1つ以上あるリポジトリがあること(リポジトリの作り方で、最初のコミットができます)
- 画面の英語は、そのまま読めばよいこと。表で意味を説明します
- 履歴を見るだけなら、何も変更しないこと
コミットとは
この記事では、コミットを、ファイルの変更を、説明つきで記録として保存することと考えます。編集したファイルを保存することに似ていて、ゲームのセーブにも近く、その時点の状態を、あとから見返せる仕組みです。履歴の一覧では、1行が、1つのコミットです。
コミットには、次のものが記録されます。下の「コミットの中身を見る」の画面で、1つずつ確かめられます。
| 記録されるもの | 意味 |
|---|---|
| 変更の中身 | どのファイルの、どこを、どう変えたか |
| いつ | いつ変更したか(画面には「13 hours ago」「yesterday」のように出る) |
| 誰が | 変更した人(作成者) |
| 説明(コミットメッセージ) | 変更を短く説明した文。コミットのときに入れる |
| コミットID | コミットを見分ける印 |
コミットIDは、アップロードの画面(ファイルのアップロード)で、入れる欄がありませんでした。自分で入れる項目ではありません。
コミットができるとき
GitHubをブラウザで使うときコミットは次のような操作のたびにできます。
| 操作 | 画面のボタン | my-first-repoでできたコミット |
|---|---|---|
| リポジトリを作る(READMEをオンにした) | Create repository | Initial commit(f29fe5e) |
| ファイルをアップロードする | Commit changes | 練習用のファイルを追加(b4af7a1) |
| ファイルを削除する | Commit changes | Delete 日本語のファイル.txt(545cdc8) |
それぞれの操作の画面は、リポジトリの作り方と、ファイルのアップロードの記事にあります。ファイルのアップロードの記事では、「Commit changes」を押すたびに、リポジトリの表示が「1 Commit」「2 Commits」「3 Commits」と増えました。
ファイルを消す操作も、コミットとして記録されます。消す前の状態も、履歴に残ります。
履歴を見る手順
1-1. 「Commits」を押す
リポジトリのページを開きます。ファイル一覧の上に、いちばん新しいコミットの説明と、「3 Commits」という表示があります。この「Commits」を押した先が、履歴の一覧です。

ファイル一覧の真ん中の列には、そのファイルを最後に変えたコミットの説明が出ます。「README.md」の横が「Initial commit」で、「hello.txt」の横が「練習用のファイルを追加」です。
2-1. 一覧の見方
履歴の一覧は、新しいコミットが上に並びます。1行が、1つのコミットです。

| 番号 | 画面の表示 | 意味 |
|---|---|---|
| 1 | 練習用のファイルを追加 | コミットメッセージ。変更の説明 |
| 2 | Verified | 確認済みの印。押すと、下の補足の窓が開く |
| 3 | b4af7a1 | コミットID。先頭の7文字が表示される |
| 4 | authored 13 hours ago | 作成者と、その時間(13時間前) |
一覧の「Verified」の印を押すと、小さな窓が開き、「This commit was created on GitHub.com and signed with GitHub’s verified signature.」(このコミットは、GitHub.comで作られ、GitHubの確認済みの署名がついている)と出ました。今回の3つのコミットは、ブラウザで作ったもので、3つとも「Verified」と表示されました。

3-1. 追加したファイルのコミット
一覧で、コミットの説明を押すと、そのコミットの詳細のページが開きます。「練習用のファイルを追加」を開くと、次の画面になります。

| 番号 | 画面の表示 | 意味 |
|---|---|---|
| 1 | Commit b4af7a1 | このコミットのID |
| 2 | 練習用のファイルを追加 | コミットメッセージ |
| 3 | 1 parent f29fe5e / commit b4af7a1 | 1つ前のコミット(親)のIDと、このコミットのID |
| 4 | 2 files changed | 変更されたファイルは2つ |
| 5・6 | 緑の行(先頭に+) | 追加された行。ファイルを新しく入れたので、すべての行が緑になっている |
緑の行(先頭に+)が、前のコミットから足された行です。前のコミットから、何が足されたか、消えたかを、色で見せる表示です。
3-2. 削除したファイルのコミット
ファイルを消したコミットも同じように開けます。

親のコミットが、さきほどの「b4af7a1」になっています。履歴は、このように、前のコミットとつながっています。削除のコミットでは、中身の行のかわりに、「This file was deleted.」(このファイルは削除されました)と出ました。消えたことが、1つの記録として残っています。
コミットIDの見方
コミットIDは、履歴の一覧にも、詳細のページにも出ます。画面に表示されるのは、先頭の7文字です。たとえば、「練習用のファイルを追加」のコミットは、「b4af7a1」と表示されます。
履歴の中で、特定のコミットを指し示したいときに、このIDを使います。7文字の表示の右には、コピーのアイコンがあります。カーソルを合わせると、「Copy full SHA for f29fe5e」(f29fe5eの、IDの全体をコピー)と出ます。この撮影では、アイコンを押していません。

コミットメッセージの書き方
コミットのときには、変更を短く説明するメッセージを入れます。ファイルのアップロードの画面では、メッセージの欄に何も入れなくても、「Add files via upload」の名前で記録されました。
ブラウザでアップロードしたとき、メッセージの欄には、初めから「Add files via upload」と薄く出ていました。ファイルを削除したときは、「Delete ファイル名」が、初めから入っていました(どちらも、ファイルのアップロードの画面)。そのままでも構いません。あとから履歴を見たときに、何をしたのか分かるように、自分の言葉で書くこともできます。日本語でも入力できて、履歴にもそのまま表示されました。
| わかりにくい例 | わかりやすい例 |
|---|---|
| 修正 | READMEに使い方を追加 |
| update | hello.txtのあいさつを変更 |
| いろいろ変更 | 練習用のファイルを追加 |
この表は、この記事の考え方です。公式のドキュメントの決まりではありません。何を、どうしたかを1行で書く、というのが目安です。
コミットとプッシュの違い
コミットと一緒に、「プッシュ」という言葉を見かけます。これは、コマンドを使うときに出てくる言葉です。この記事までの操作は、すべてブラウザで、「Commit changes」を押す操作だけでした。プッシュの説明は、別の記事(公開予定)で扱います。
よくある質問
コミットは消せますか
この記事では、消す方法は扱いません。ファイルを削除する操作も、新しいコミットとして記録されました。以前の状態に戻す方法は、GitHubで前の状態に戻す方法で説明しています。
履歴は他の人にも見られますか
公開(Public)のリポジトリは、ログインしなくても、履歴を見られました。この記事の画面も、ログインしない状態で撮影しています。
消したファイルは履歴からも見られますか
見られました。「日本語のファイル.txt」が入っていた時点のコミット(b4af7a1)を開くと、その時点の中身が表示されました(ログインしていない状態で撮影)。ファイルを消しても、消す前のコミットは、履歴に残っています。パスワードやAPIキーを上げてしまったときの対処は、GitHubは安全?危険性と気をつけることで説明しています。

次に知りたいこと
- ファイルを入れる手順を知りたい → GitHubにファイルをアップロードする方法【画像つき】ブラウザだけの手順
- 前の状態に戻したい → GitHubで前の状態に戻す方法【画像つき】ブラウザだけで履歴から復元
- リポジトリを作りたい → GitHubのリポジトリの作り方

