メインコンテンツへスキップ
レッスン 1 / 15推定時間: 20

バージョン管理とGitの基礎

なぜバージョン管理が必要なのか、Gitがどんな問題を解決するのかを理解しましょう

このレッスンの学習目標

  • バージョン管理が解決する「困りごと」を理解する
  • Gitの基本的な概念を理解する
  • バージョン管理のメリットを体感する

困っていませんか?こんな経験はありませんか?

プログラミングや文書作成をしていて、こんな経験はありませんか?

😰 ファイル名地獄

report.txt
report_最終版.txt
report_最終版2.txt
report_本当の最終版.txt
report_本当の最終版_修正済み.txt
report_本当の最終版_修正済み_確定版.txt

どれが本当に最新のファイルか分からなくなった経験、誰もが一度はあるはずです。

😱 元に戻せない恐怖

  • 「さっきまで動いていたコードが、何を変更したのか分からないけど動かなくなった...」
  • 「3日前のバージョンに戻したいけど、もう上書きしてしまった...」
  • 「間違えて大事な部分を削除してしまった!」

🤝 チーム作業の混乱

  • 「AさんとBさんが同じファイルを編集して、どちらの変更を採用すればいいか分からない」
  • 「誰がいつ何を変更したのか全く分からない」
  • 「メールやUSBメモリでファイルを共有していて、最新版がどこにあるか分からない」

Gitがこれらの問題を解決します!

**Git(ギット)**は、これらすべての問題を解決する「バージョン管理システム」です。

バージョン管理システムとは?

バージョン管理システムは、ファイルの変更履歴を記録し、管理するツールです。まるで「タイムマシン」のように、過去の任意の時点の状態に戻ることができます。

Gitで何ができるの?

1. 🕐 変更履歴の完全な記録

Gitは、「誰が」「いつ」「何を」「なぜ」変更したかをすべて記録します。

2024-01-15 10:30 田中太郎: ログイン機能を追加
2024-01-15 14:45 佐藤花子: バグ修正:ログイン時のエラーを解決
2024-01-16 09:00 田中太郎: デザインの改善

2. 🔄 いつでも過去に戻れる

間違えても大丈夫!いつでも過去の状態に戻せます。

現在: バグだらけの状態 😭
↓
「3日前の状態に戻したい」
↓
3日前: 正常に動作していた状態 😊

3. 🌿 並行作業が可能

「ブランチ」という機能で、本番環境に影響を与えずに新機能を開発できます。

メイン(本番) ━━━━━━━━━━━━━━━━━━━━━>
                ╲
                 ╲ 新機能の開発
                  ╲━━━━━━━━━━━>
                              ╱
                             ╱ 完成したらマージ
メイン(本番) ━━━━━━━━━━━━━━━━━━━━━>

4. 🌍 どこからでもアクセス可能

GitHubなどのサービスと組み合わせることで、インターネット経由でどこからでもアクセスできます。

  • 自宅のPC
  • 会社のPC
  • カフェのノートPC
  • すべてで同じプロジェクトにアクセス可能!

Gitを使わないとどうなる?

ケース1: 個人開発での悲劇

月曜日: 新機能を実装 → 動作OK
火曜日: 機能を改善 → まだOK
水曜日: さらに改善 → バグ発生!
木曜日: バグ修正を試みる → さらに悪化...

「月曜日の状態に戻したい!」
→ もう手遅れ... 😭

ケース2: チーム開発での混乱

Aさん: login.jsの10行目を修正
Bさん: 同じくlogin.jsの10行目を別の内容に修正

どちらの変更を採用?両方必要?
→ 手動でマージ作業... とても大変! 😫

Gitの基本的な仕組み

Gitは、プロジェクトの「スナップショット」を撮影し続けるカメラのようなものです。

  1. 作業ディレクトリ: 実際に作業しているファイル
  2. ステージングエリア: 次のスナップショットに含める変更を選ぶ場所
  3. リポジトリ: スナップショットの保管庫
作業ディレクトリ → ステージングエリア → リポジトリ
   (編集)           (git add)          (git commit)

なぜGitを学ぶべきか?

1. 🚀 プロの必須スキル

  • ほぼすべてのIT企業で使用されている
  • オープンソースプロジェクトへの参加に必須
  • ポートフォリオの管理に最適

2. 💡 個人プロジェクトでも便利

  • ブログの記事管理
  • 設定ファイルのバックアップ
  • 学習ノートの管理
  • 創作活動の履歴管理

3. 🤖 AI時代の新しい使い方

  • AIとの協働作業の履歴を残せる
  • プロンプトの改善過程を記録
  • AIが生成したコードの管理

まとめ

Gitは単なるツールではありません。あなたの作業を「安全」で「効率的」にする強力な味方です。

  • ✅ ファイル名地獄から解放される
  • ✅ いつでも過去に戻れる安心感
  • ✅ チーム作業がスムーズになる
  • ✅ どこからでも作業できる

次のレッスンでは、実際にGitをインストールして、最初の一歩を踏み出しましょう!

🤔 考えてみよう

あなたが今までに経験した「ファイル管理の困りごと」を思い出してみてください。Gitがあれば、どのように解決できたでしょうか?