Git — 変更履歴を記録して、いつでも戻れる

初級の解説は準備中のため、初級の内容を表示しています。

概要 — まず全体をつかむ

作ったファイルを安全に育てる土台が、変更履歴を記録する=Gitです。

詳細 — 1段階ずつ追う

これは何をする係?

Gitは、ファイルの変更の履歴を記録する道具(※1 バージョン管理)です。ゲームのセーブポイントを何度でも作れて、いつでも好きな地点に戻れるイメージ。

記録した1つ1つの地点は※2 リポジトリという「作業場所ぜんぶの記録箱」にたまっていきます。上書きで前が消えるのではなく、過去の状態がそのまま残るのが肝です。

登場人物メモ:

  • ※1 バージョン管理 — 変更の履歴を記録し、前の状態に戻せるようにする仕組み
  • ※2 リポジトリ — ファイルと、その全履歴を保管する箱

仕事の流れ

  1. ファイルを編集する(いつも通り書く)
  2. きりのいいところで記録する(=コミット。「ここまでできた」の目印)
  3. さらに編集して、また記録する…を繰り返す
  4. まずくなったら、前の記録に戻す

こうして「セーブ→編集→セーブ」を積み重ねると、作業のすべての節目が残ります。

なぜ嬉しいのか

  • 消えない — 記録した地点はずっと残る(うっかり上書きで泣かない)
  • 戻れる — おかしくなっても、動いていた地点にすぐ戻せる
  • たどれる — 誰がいつ何を変えたか、履歴で分かる
  • 試せる — 本番を壊さず、枝分かれさせて実験できる

1人でも「戻れる安心」が大きく、複数人ならなおさら効いてきます。

⚠️ うまくいかないとき

  • 記録し忘れ — コミットしていない変更は履歴に残らず、戻れない
  • 記録が大きすぎる — 一度にまとめて記録すると、どこで壊れたか分かりにくい(こまめに)
  • 同じ所を同時に変更 — 複数人が同じ行を別々に直すと、あとで衝突が起きる(中級で扱う「コンフリクト」)

しくみの続き(コミット・ブランチ・マージ)は中級で。翻訳の話とセットで読むならプログラムが動くまでもどうぞ。

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. Gitがあると何が嬉しい?

2. Gitを一言でいうと?

3. Gitでいう「コミット」に最も近いのは?

4. ファイルと、その全履歴を保管しておく「箱」を何と呼ぶ?

5. Gitで記録すると、上書きで前が消える普通の保存と何が違う?

6. 「コミットしていない変更」はどうなる?

7. きりのいいところで「ここまでできた」と1つ記録することを、カタカナで何と呼ぶか答えてください。

8. 複数人が同じ行を別々に直したとき、あとで起きる「衝突」をカタカナで何と呼ぶか答えてください。