🙆‍♀️

【完全理解】Gitとは?①バージョン管理システムを理解する

に公開

☁️ はじめに

前回の記事では、Gitがどんなツールなのかを大まかに紹介しました。
しかし「Gitとは分散型バージョン管理システムです」と聞いても、
そもそも"バージョン管理システム"って何? と感じた方も多いかもしれません。

そこで今回は、Gitを理解する土台となる
「バージョン」「バージョン管理」 という考え方から整理していきます。

前回の記事はこちら:
https://zenn.dev/aoao/articles/f2a05f7ca599b7

💡 「バージョン」という概念を理解する

Gitを理解するうえで欠かせないのが、「バージョン」 という概念です。

たとえば、Wordで「企画書」を作っているとします。
最初は"下書き"を作り、次に清書し、最後に修正を加えて完成させる──。

この過程で、同じファイルでも中身はどんどん変化していきます。

企画書.docx(下書き)
↓
企画書.docx(清書)
↓
企画書.docx(修正版)

このように、更新のたびに変化していくファイルの「状態」「バージョン」 と呼びます。

🧭 バージョン管理とは?

では「バージョン管理」とは何か?

同じファイルの複数バージョンを保持することを「バージョン管理」 と呼びます。

⚙️ Gitはバージョン管理を行うツール

Gitは、この 「バージョン管理」を効率よく行うためのツール です。

ファイルの変更をバージョンとして記録し、過去の状態へいつでも戻れる仕組みを持っています。

こうしたツールはGit以外にも存在し、まとめて 「バージョン管理システム」 と呼ばれます。

🪄 バージョン管理システムが必要とされる理由

企画書の例のように、ファイルをコピーして残していく"手動のバージョン管理"方法もあります。

main.py  
main_修正版.py  
main_最終版.py  
main_再最終版.py

しかしこの方法には、いくつかの問題があります。

  • コピーのたびにファイルが増えて管理が煩雑になる
  • どれが最新か・どこが違うのか分かりにくい
  • 複数人で作業すると、上書きや衝突が起きやすい

一方、Gitのようなバージョン管理システムを使えば、

  • 変更ごとに履歴を記録
  • 誰が・いつ・何を変更したか追跡できる
  • 複数人でも安全に並行で作業ができる

といったメリットがあります。

🧠 Gitの歴史

Gitの歴史について少し触れておきます。
Gitは2005年、Linuxの開発者リーナス・トーバルズ氏によって誕生しました。

当時は、大規模プロジェクトを管理するのに適したツールがなく、
「高速で」「安全で」「複数人でも混乱しない」ようなシステムが求められていました。

こういった経緯から、
「大規模プロジェクトでも高速に、複数の開発者が同時に作業しても整合性を保てる仕組み」
としてGitが開発されたのです。

Git誕生話について:
https://ja.wikipedia.org/wiki/Git

🌐 GitとGitHubの関係

GitとGitHub。最初はよく混合されがちです。
実は、Gitが広く普及したきっかけの一つが Githubでした。

GiHubは、「Gitの仕組みを利用して、インターネット上での共同作業を可能にしたWebサービス」 です。

他のユーザーと簡単にコミュニケーションが取ったり、コードレビューやプロジェクト管理を行ったりできる機能を備えています。

こうしたGitHubの普及により、Gitは一気にシェアを拡大し、現在では開発現場の標準ツールとして広く利用されています。

✅まとめ

今回は、「バージョン」「バージョン管理システム」 の基本的な概念を学びました。

  • ファイルの状態は更新ごとに「バージョン」と呼ばれる
  • その複数のバージョンを保持することが「バージョン管理」
用語 意味
バージョン 更新ごとに変化するファイルの状態
バージョン管理 同じファイルの複数バージョンを保持すること
Git ファイルの変更履歴を記録・管理するツール
GitHub Gitを使ったオンライン共有サービス

次回の記事では、この「バージョン管理システム」が実際にどのように動くのか、その仕組みを深りしていきます。👇
https://zenn.dev/aoao/articles/7ee1c138566fc4

Discussion