Git初めてのGit

Day 0バージョン管理とは — 壊しても戻せる安心

バージョン管理=作業の「セーブポイント」

バージョン管理は、いつでも過去の状態に戻れる「セーブポイント」の仕組み。ファイル名で管理する苦労から解放される。

バージョン管理とは何か

バージョン管理とは、ファイルの「いつ・誰が・何を変えたか」という歴史をすべて記録しておく仕組みのことです。むずかしそうに聞こえますが、やっていることはシンプルで、作業のとちゅうで何度も「セーブポイント」を作っておく、というだけです。

なぜこれが大事なの?

セーブポイントがあれば、「あ、さっきの方がよかった」と思ったときにいつでも過去にもどれます。もどれるとわかっているから、こわがらずに新しいことを試せます。この安心感こそがバージョン管理の本当の価値です。

ゲームのセーブを思い出してください

ゲームでボスに挑む前、多くの人はセーブしますよね。負けても、セーブポイントからやり直せると知っているからです。バージョン管理はこれと同じで、プログラムや文書の「セーブポイント」を自分の好きなタイミングで作れる道具だと考えてください。

そしてゲームのセーブより便利なのは、「1つ前」だけでなく、過去のどのセーブポイントにでも自由に戻れるという点です。3日前の状態、先週の状態、どこにでもジャンプできます。

昔ながらのやり方(つらい)

企画書_最終.docx/企画書_最終2.docx/企画書_本当に最終.docx/企画書_最終_修正版_これで決定.docx

バージョン管理(すっきり)

ファイルは「企画書.docx」1つだけ/変更の歴史は道具が自動で記録/どの時点にでも戻れる/「本当に最終」問題が消える

「〜最終版2」「〜本当に最終」というファイルがフォルダにたまっていく、あの問題。バージョン管理を使うと、ファイルは常に1つのままで、変更の歴史だけが裏側にきちんと積み重なっていきます。

  • いつでも過去の状態に戻れる安心がある
  • 「最終版問題」のようなファイル名の混乱がなくなる
  • だから、こわがらずに試行錯誤できる

AIにはこう聞く

「バージョン管理を、プログラミングを知らない人にもわかるたとえで説明して。ゲームのセーブ以外のたとえも教えて」

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

バージョン管理が解決してくれる「あるある問題」はどれですか?

Q2

本文でバージョン管理をたとえたものは何ですか?

Q3

バージョン管理とは何か、プログラミングを知らない友人に説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。