はじめに
ゲームで超強力なボス戦に挑む前、絶対に「セーブ」をするよね? もしセーブを忘れたままボスにやられてしまったら、何時間もかけて手に入れた強い武器も、レベル上げの苦労もぜんぶ水の泡……そんな悔しい思い、誰だってしたくないはず。
パソコンで長い作文を書いたり、お絵かきソフトでイラストを描いたりするときも同じ。「間違えて消しちゃった!」「昨日の状態のほうが上手に描けていたのに、上書き保存しちゃったから元に戻せない!」と頭を抱えた経験はないかな?
実は、世界中のゲームやスマホアプリを作っているプログラマーたちも、昔はまったく同じピンチに頭を悩ませていたんだ。何万行もある大切なプログラムが消えてしまったり、壊れたりしたら大惨事になってしまう。
そこで生み出されたスーパー道具が「Git(ギット)」! Gitを一言でいうと、「いつでも好きな過去のセーブポイントに戻れる、コンピュータのタイムマシン」だよ。
これさえ知っておけば、失敗を恐れずに思いっきり作品づくりにチャレンジできるようになる。プログラマーたちが当たり前に使いこなしている「Git」のワクワクする秘密を、いっしょに解き明かしてみよう!
ゲームのセーブポイントをいつでも巻き戻せるタイムマシンなんて、めちゃくちゃ頼しいじゃん!
ふふ、はるとはゲームでよくセーブを忘れて悔しがっているものね。プログラミングでもセーブの仕組みって本当に大切なのよ。
Gitってなに?セーブできるタイムマシン
「Git(ギット)」は、コンピュータの世界で「バージョン管理システム」と呼ばれている便利な仕組みなんだ。
「バージョン」というのは「作品の版」のこと。ゲームで「バージョン1.0」とか「大型アップデート版」という言葉を聞いたことがあるよね。つまり、作品がどんどん進化していく途中の「状態」を表しているんだ。
ふつうの保存と何がちがうの?
ふだん、みんながパソコンで絵を描いたり作文を書いたりして「保存」ボタンを押すと、どうなるかな?
多くの場合は「上書き保存」になるよね。昨日書いた文章に今日新しい文を書き足して保存すると、昨日のデータは上書きされて消えてしまう。だから、「やっぱり昨日の文章のほうが良かったな……」と思っても、前の状態には二度と戻せないんだ。
そこで、前のデータを残そうとして、こんなふうにファイル名を工夫したことはないかな?
- 「作文_完成」
- 「作文_本当の完成」
- 「作文_これで最後_決定版」
- 「作文_マジでこれが最後の最終版」
フォルダの中が似たような名前のファイルでいっぱいになって、「結局どれが一番新しいやつなの!?」と大混乱した経験がある人も多いはず!
Gitなら過去の履歴がぜんぶ残る!
そこで大活躍するのがGitなんだ。 Gitを使うと、ファイルを何個も別名で増やして散らかす必要はまったくない。ひとつのフォルダの中で、「いつ、誰が、どの部分をどう変えたのか」という変更の歴史が、まるでアルバムのようにぜんぶ自動で記録されるんだ。
ゲームにたとえるなら、セーブスロットが100個も200個もずらりと並んでいて、いつでも好きな日時のセーブポイントに一瞬で時間を巻き戻せるようなもの!
「新しいプログラムを書いたら、バグが出て動かなくなっちゃった!」という大ピンチが起きても、Gitがあれば「30分前の動いていた状態」にボタンひとつで戻せるんだ。このタイムマシンのような安心感があるからこそ、プログラマーは失敗を怖がらずに思いっきり挑戦できるんだよ。
古いデータが
上書きされて
消えてしまう!
「さっきの
状態に
戻したい」と
思っても
戻せない
ファイル
名が
増えすぎてどれが
本物か
迷子になる
Gitのバージョン管理(履歴保存)
過去のセーブポイントが
順番にぜんぶ
残る!
いつでも
好きな
日時の
状態にタイムマシンで
戻せる
ひとつのファイルでスッキリ
安全に
管理できる
なるほど!ファイルを「最終版その2」みたいに増やさなくていいのは超スッキリするな!
ええ、過去のセーブデータが全部残っているから、「もし失敗しても元に戻せる」という安心感を持って作業できるのよね。
ブランチとマージってなに?分かれ道で実験!
Gitには、世界中のプログラマーが「これがないと仕事ができない!」と絶賛する、とっておきの機能があるんだ。それが「ブランチ(branch)」と「マージ(merge)」!
英語で「ブランチ」は「木の枝(枝分かれ)」という意味で、「マージ」は「合体させる・混ぜ合わせる」という意味なんだよ。
メインの道を壊さずに分かれ道を作る!
たとえば、みんなが何日もかけて作った「立派なブロックのお城」を思い浮かべてみてほしい。
「お城のてっぺんに、かっこいい大砲を取り付けてみたい!」と思いついたとする。でも、もし大砲を乗せようとして手元が狂い、せっかく完成したお城がガラガラと崩れてしまったら大ショックだよね。怖くてなかなか手を出せないはず。
そんなときにGitの「ブランチ」を使うんだ!
ブランチを使うと、今完成している安全なお城のデータ(メインの道)には指一本触れずに、そこからピッと「分かれ道」を新しく生み出すことができる。
失敗しても大丈夫!成功したら合体!
分かれ道の世界では、メインのお城にはまったく影響がないから、どんなに無茶な実験をしてもへっちゃらなんだ。
もし分かれ道で大砲を乗せてみて、「うーん、お城の雰囲気に合わなくてかっこ悪いな……」と思ったらどうする? 答えはかんたん。その分かれ道(ブランチ)をゴミ箱にポイっと捨てるだけでおしまい! メインのお城はキズひとつなく、最初のピカピカな状態のまま無傷で残っているんだ。
逆に、「やった!めちゃくちゃ強そうなお城になったぞ!」と大成功した時はどうするかな? ここで登場するのが「マージ(合体)」! 分かれ道で成功した大砲のデータを、メインのお城のデータにカチッとくっつけて合体させるんだ。これで、メインのお城が安全にパワーアップを果たすんだよ。
STEP 1
メインから「ブランチ(分かれ道)」を作る!
今動いている安全な本番のデータはそのまま残し、別の実験ロードを新しく作ります。
STEP 2
分かれ道で新しいアイデアを思いっきり実験!
本番のデータには一切キズがつかないので、どんな大胆な改造や挑戦も安心して試せます。
STEP 3
実験が大成功したら「マージ(合体)」で本番に合体!
うまくいった成果だけをメインの道にガッチャンコと合体させて、作品をパワーアップさせます!
分かれ道を作って実験できるなら、新しいサッカーのフォーメーションを試すみたいで、めちゃくちゃワクワクするな!
ふふ、失敗してもその分かれ道を捨てるだけで、メインは無事なのが本当に賢い設計よね。
なぜ世界中で使われるの?みんなでチームプレイ
Gitが世界中のIT企業やプログラマーに使われている最大の理由は、「たくさんの仲間といっしょにひとつの作品を作る時に、ものすごいパワーを発揮するから」なんだ!
みんなが大好きなゲーム『マインクラフト』や、大人気のスマートフォンアプリは、たった1人で作られているわけではないよね。何十人、ときには何百人ものプログラマーやデザイナーが、毎日協力してひとつの大きなプログラムを作っているんだ。
もしGitがなかったらどうなると思う? 「俺がキャラクターの動きを直したよ!」 「あ、私がモンスターの強さを変えたデータで上書きしちゃった!」 なんてことになって、お互いの作ったものが消し合ってしまう大混乱が起きちゃうよね。
チーム開発の「3つの合言葉」
Gitを使えば、大勢のプログラマーが同時に作業してもデータがごちゃごちゃに壊れることはないんだ。チームプレイでよく使われる「3つの大切な合言葉」を覚えておこう!
- コミット(commit):自分のパソコンで作業の区切りがついた時に、「セーブポイント」を記録すること。「敵の動きを修正したよ」と短いメモをつけて保存するんだ。
- プッシュ(push):自分のパソコンに記録したセーブデータを、インターネット上にある「チームみんなの共有金庫(GitHubなど)」へ送信して届けること。
- プル(pull):チームの仲間が共有金庫にアップした最新のセーブデータを、自分のパソコンにダウンロードして最新状態に合わせること。
この「コミットして、プッシュして、プルする」というキャッチボールをくり返すことで、たとえ日本とアメリカのように遠く離れた場所にいる仲間同士でも、まるで隣に座っているかのように息をぴったり合わせて巨大なプログラムを作り上げることができるんだよ。
Q. 何人もの人が同時に同じ場所を直したらどうなるの?
A. 大丈夫!Gitが「ここがぶつかっているよ!(コンフリクト)」と教えてくれるんだ。勝手に誰かのデータを消したりせず、「どっちの変更を残すか」を人間同士で相談して決められる仕組みがあるから安心だよ。
まるでサッカーのパス回しみたいだな!みんなでセーブデータをつないでひとつのゲームを完成させるのか!
その通りね。プログラミングって1人で黙々とするものに見えて、実はチームワークと思いやりが大切なのよ。
まとめ
📝 今日のまとめノート
1
Gitは過去のセーブポイントをぜんぶ記録して、いつでも戻れる「タイムマシン」!
2
「ブランチ」で安全に分かれ道を作って実験し、成功したら「マージ」で本番に合体できる!
3
コミット・プッシュ・プルを使えば、世界中の仲間と安全に協力してモノづくりができる!
🖍️ ✏️
Gitの仕組みを知ったら、失敗を怖がらずにいろんなアイデアを試すプログラマーの気持ちがよくわかったぞ!
ミスをしてもやり直せる仕組みがあるからこそ、新しい挑戦ができるのよね。……あ、でもはると、その前に今日の宿題はちゃんとセーブして終わらせたの?
楽天ブックス
¥2,453 (2026/10/13 03:22時点 | 楽天市場調べ)
ポチップ