基礎知識

Gitを積み木で理解する|初心者向け完全ガイド

Gitが何をしているのかわからない人向けに、積み木の比喩で超わかりやすく解説。コミット、ブランチ、プッシュの概念がスッと入る。

#視点
Gitを積み木で理解する|初心者向け完全ガイド

Gitがわかりにくいは当然

eyecatch_Git.webp

Gitは最初、本当に何をしているのか掴みにくい。なぜ皆から勧められているのかもわからない。

そのような方に向け、このバージョン管理手法がなぜ効率的で、なぜこれほどまで使われているのか、できるだけわかりやすく解説する。


Git誕生秘話

Gitの誕生はまさに片手間だった。暗号解読技術やWebネットワークが第二次世界大戦の片手間で生まれたように、Gitもまた、Microsoft・IBM・Unixのような大企業の独占を阻止するためのLinux OS開発の片手間で作られた。そのため、もともとGitはLinuxを作るためのバージョン管理システムだったのだ。

制作者はLinus Torvalds。Linuxの生みの親だ。 linus-torvalds.jpg 彼は自宅の部屋で作業を進め、たった2週間でGitの最初のバージョンを完成させた。現在では世界中の開発者に使われる標準的なツールになっている。


なぜGitが必要なのか

こんなことをしたことはないだろうか。私はある。

  • ファイル名に「_最終版」「_最終版2」「_本当の最終版」が増えていく
  • 「あの時の状態に戻したい」ができない

Gitは違う。積み上げた履歴そのものを記録する。だから、いつでも好きな高さまで戻れる。


Gitの基本概念は積み木

Gitの基本概念は積み木だ。

atc-images (1).jpg

プロジェクト全体を、あなたが遊ぶ大きな**作業台(リポジトリ)**と考えてほしい。その上に、ファイルごとの土台がある。そこに緑(行を追加)と赤(行を削除)の積み木を、縦にどんどん積み上げていく。

用語積み木で例えると
リポジトリ積み木で遊ぶ作業台(プロジェクト全体)
ファイルそれぞれの積み木の土台
変更(diff)一つの積み木ブロック(緑=追加、赤=削除)
ステージ「この積み木を固める」と選ぶこと
コミット選んだ積み木をボンドで固めて、ラベルを貼る

ピンとこなければ、ステージ=選択、コミット=保存、と覚えてもOK。


ブランチ=並行世界の積み木

ブランチは、積み木の塔を途中から枝分かれさせる機能だ。

映画やドラマでよくある「もしあの時、別の選択をしていたら?」という並行世界のようなイメージだ。

q3roaz8wlijy.png

今ある塔(mainブランチ)を壊さずに、横に新しい土台を作って「実験用の塔」を積み始める。うまくいったら、その積み木を元の塔に合体(マージ)させる。この合体の仕組みはシンプルだ。共通の土台(分岐点)はそのままで、実験用の塔で積み上げた分だけを元の塔の上に乗せる。 失敗したら、その枝だけ捨てればいい。本体には影響がないので安心だ。

atc-images (2).jpg

これが「安全に新機能を試せる」理由だ。


リモート=積み木を預ける場所

GitHubやGitLabは、あなたの積み木のコピーをクラウドに保存する場所だ。バックアップとして安心できる場所に預けるイメージ。

  • push → 手元の積み木をクラウドに預ける
  • pull → 預けた積み木を手元に持ってくる
  • clone → 誰かの積み木セットをまるごとコピーして手元に持ってくる

複数人で同じ作業台を使うとき、このリモートが「みんなの積み木の正解」になる。


まとめ

やりたいこと積み木で言うとGitコマンド
変更を選ぶ「この積み木固める」と選ぶgit add
変更を保存ボンドで固めてラベル貼りgit commit
履歴を見る積み上げた履歴を眺めるgit log
過去に戻る積み木を指定の高さまで戻すgit check out
枝分かれ横に別の世界線の塔を建てるgit branch
合体枝の積み木を元の塔に乗せるgit merge
親に預ける積み木をクラウドに預けるgit push
親から取るクラウドから積み木を持ってくるgit pull

Gitは「ファイルを保存するツール」ではなく、**「積み木」**だ。

これさえ掴めば、あとは手を動かすだけ。


この記事が役に立ったら、ぜひSNSでシェアしてください!Gitを学び始めた仲間にも共有してもらえると嬉しいです。

V
Author

ヴィンセント

青山学院大学経済学部在学中。楽天、LINEヤフーでのインターン経験あり。 文系からエンジニアの道に進む中で、環境構築やエラー解決に苦労した経験から、 同じように悩む人の役に立ちたいと思い、このサイトを立ち上げました。

この記事をシェアする

基礎知識の他の記事を見る

最新の記事

Aoyama Tech Community

Tech For All.