VS Code で Java のファイルを保存して動かせるようになると、書き換える回数が増えます。「さっきまで動いていたのに、どこを変えたか分からなくなった」という場面は、学習中にもよく起きます。
この回では、ファイルの変更履歴を管理するツール「Git」と、その履歴をネット上に共有する場所「GitHub」の役割を整理します。インストールや操作はまだ扱いません。まず「なぜ必要か」と「何が違うか」をつかむのがゴールです。
Git がないと何が困るか
Java のコードを書いていて、動いていたプログラムが急にエラーになったとします。
- どのファイルを変えたか、覚えていない
- 変える前のコードが残っていない
- 「元に戻す」を何度も押しても、保存前の状態には戻れない
こうなると、最初から書き直すしかありません。ファイルが1つならまだしも、複数のファイルを同時に変えていた場合は、どこが原因か見当もつかなくなります。
「コピーを取っておけばいいのでは?」と思うかもしれません。実際、Main_v2.java Main_backup.java のようにファイルを複製する方法もあります。ただ、ファイルが増えるとどれが最新か分からなくなり、結局混乱します。
Git は、この問題を仕組みで解決するツールです。
Git はローカルで動く変更記録ツール
Git は、自分のパソコン上でファイルの変更履歴を記録します。
できることは次の3つです。
- 変更前と変更後の差分を見る — どの行を足した・消した・書き換えたかを確認できる
- 変更を区切って記録する — 「ここまでの変更をひとまとまりにして保存」という操作ができる
- 過去の状態に戻る — 記録した時点のコードをいつでも見返せる
この「ひとまとまりの記録」を コミット(commit) と呼びます。ゲームのセーブポイントに近い考え方です。コミットを積み重ねることで、いつ・何を・なぜ変えたかの履歴がファイルとは別に残ります。
Git は自分のパソコンだけで動きます。ネット接続は必要ありません。
GitHub はネット上の共有先
GitHub は、Git で記録した履歴をネット上に保存・公開できるサービスです。
Git だけだと、履歴は自分のパソコンの中にしかありません。パソコンが壊れたら履歴ごと消えます。GitHub に履歴を送っておけば、バックアップになります。
もう1つの役割は、他の人と共有できることです。就職活動では「GitHub にコードを載せている」こと自体が実績の見せ方になります。学習の記録をそのまま残せるので、ポートフォリオとしても使えます。
| Git | GitHub | |
|---|---|---|
| 動く場所 | 自分のパソコン | ネット上(ブラウザでも見られる) |
| 主な役割 | 変更履歴の記録・差分の確認・過去への復元 | 履歴の保存・公開・共有 |
| ネット接続 | 不要 | 必要 |
Git で記録し、GitHub に送る。この2段階が基本の流れです。
おぼえておく言葉
次の2つだけおぼえれば十分です。
- リポジトリ(repository) — Git が変更履歴を記録する場所。プロジェクトのフォルダに対して1つ作る。「リポジトリを作る=このフォルダの変更を Git で追跡する」という意味になる
- コミット(commit) — 変更をひとまとまりとして記録すること。「1コミット=1つの区切り」と考える
「ブランチ」「プッシュ」「プル」といった言葉もありますが、使う回で説明します。
Git と GitHub の区別を言えるか確認する
次の2つを自分の言葉で言えれば、この回は十分です。
- Git は自分のパソコンで変更履歴を記録する
- GitHub はその履歴をネット上に置く共有先
次の回へ
Git と GitHub の役割が分かったら、次は VS Code 上で実際にコミットしてみます。練習用のファイルを作り、その差分を確認してコミットとして記録する操作を体験します。