Gitとは?わかりやすく理解できる「進化したセーブ機能」

プログラミング

Gitは「人生をやり直せる魔法のボタン」である

プログラミングを始めてソースコード管理をしだした方が必ずと言っていいほどぶち当たる壁。

それがGit(ギット)です。

名前からして強そうですよね。でも安心してください。

Gitを一言で言うなら、最強の「セーブ機能」です。

普通の「上書き保存」とはワケが違います。

Gitを使えば、昨日の自分、一昨日の自分、あるいは「もしもあの時、別の道を選んでいた自分」にだって、一瞬で戻ることができるのです。

なぜ「上書き保存」ではダメなのか?

想像してください。あなたは超大作のプログラムを書いています。

徹夜で作業して、ようやく完成間近!というところで、魔が差して余計なコードを1行書き足してしまいました。

「あ、バグった。しかもどこを直したか忘れた……」

この絶望感。

Ctrl + Zを連打しても戻れない。ファイル名は「最終版_2.py」とか「本当の最終版_修正済み.py」とか「これが本当の最終版(令和最新版)_修正完了.py」で溢れかえる。

Gitはこのカオスを解決するためにリーナス・トーバルズ氏によって生み出されたデジタル界の救世主なのです。

Gitの仕組みを「秘密基地」で例えてみる

Gitの世界には、3つの重要な場所があります。あくまでイメージですが、以下の文章で雰囲気を掴んでください。

  • ワークツリー:私たちが作業している「机の上」
  • ステージングエリア:セーブする前に、中身をチェックする「写真撮影台」
  • リポジトリ:厳重に保管される「タイムカプセル」

まずは机(ワークツリー)で作業をします。

「よし、この状態を保存したい!」と思ったら、そのファイルを撮影台(ステージング)に乗せます(詳細は省きますが、「git add」というコマンドを使います))。

そしてシャッターを切る(コミットする)と、その瞬間のデータがタイムカプセル(リポジトリ)に保存されるのです。

この「シャッターを切る」ような行為を、Gitではコミットと呼びます。RPGのゲームでセーブすると、その時点のデータが残るイメージも近いです。

コミットするたびに、あなたの作業履歴には「歴史」が刻まれていきます。

ゲームではセーブデータの数の上限があることも多いですが、Gitでは実質無限にセーブポイントをつくることができるのです。

パラレルワールドを操る「ブランチ」という力

Gitの真の恐ろしさ、いや素晴らしさはここからです。

Gitには「ブランチ(枝)」という機能があります。

これは、一つの物語から分岐して別の世界線を作るような機能です。

「この新機能を試したいけど、今の完成版を壊したくないな……」

そんな時、ブランチをピッと分ければ、元の世界には一切影響を与えずに、新しい世界で大暴れできます。

うまくいったら元の世界に合体(マージ)させ、失敗したらその世界線(ブランチ)ごと無かったことにすればいい。

まさに、神の視点。

これだけは覚えておきたいGitの極意

初心者がGitを使いこなすための心構えは、たった一つです。

「こまめにセーブ(コミット)せよ」

1時間おきでも、あるいは1つの機能を直すごとでも構いません。

こまめにセーブしておけば、どんなに派手にプログラムをぶっ壊しても、数分前の「平和だった頃の自分」に戻れます。

「どのくらいの粒度でコミットしたらいいんだろう?」ということを本腰入れて考えるのは、現場に入ってからでも遅くないでしょう。

Gitはあなたの失敗を笑いません。

むしろ、あなたの「挑戦した証」をすべて覚えていてくれるクールな相棒なのです。

コメント

タイトルとURLをコピーしました