ホーム
SQT
小単元とクイズで楽しくトレーニング

メインナビゲーション

  • ホーム
  • 受講チケット
  • 利用ガイド
    • 受講チケット
    • 講座と教材の利用
    • 教材検索
    • 企業団体向け機能
    • セキュリティについて
    • パートナー様向け機能
  • 記事一覧

なぜバージョン管理が必要か

パンくず

  • ホーム
  • Git 入門講座(試用版)
  • なぜバージョン管理が必要か
音声スライド (クリックで展開/閉じる)
スライドクリック& F キーで全画面、Esc で復帰、その他のショートカット

はじめに

  • この単元で学ぶこと:ファイル管理が壊れる理由
  • この単元で学ぶこと:バージョン管理システムの役割
  • 目標:集中型と分散型の違いを説明できるようになる

この単元では、ファイルを日付付きでコピーして保存する運用が抱える問題と、それを解決するバージョン管理システムの役割を学びます。あわせて、集中型と分散型という二つの方式の違いも理解します。

コピー保存という運用

  • よくある運用:日付や版数をファイル名に追記して保存
  • 例:「report_v1.docx」「report_v2_final.docx」
  • 編集のたびにファイルが増え、管理が乱雑になる

多くの人がまず行うファイル管理は、編集するたびにファイル名を変えてコピーを残す方法です。日付や「初版」「最終版」のような呼び方を付けて保存しますが、この方法には後で見る問題があります。

運用が破綻する場面

  • 変更理由が分からなくなる
  • どれが最新版か分からなくなる
  • 複数人が同時に編集して上書きしてしまう

この運用は主に三つの点で破綻します。まず、なぜ変更したのかという理由が残らないこと。次に、ファイルが増えるほどどれが最新版か分からなくなること。そして、複数人が同時に編集すると、片方の変更が上書きされて消えてしまうことです。

上書き事故が起きる仕組み

二人が同じファイルを同時に編集すると、後から保存した人の内容がもう一人の変更を上書きしてしまいます。コピーによる管理では、この事故を防ぐ仕組みがありません。

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

  • ファイルの変更履歴を記録するシステム
  • いつ・誰が・何を・なぜ変更したかを残す
  • 過去の状態への復元や、複数人の変更の統合ができる

バージョン管理システムとは、ファイルの変更履歴を記録し管理する仕組みです。いつ・誰が・何を・なぜ変更したかを記録し、過去の状態に戻したり、複数人の変更を一つにまとめたりできます。

記録される四つの要素

要素 内容
いつ 変更が行われた日時
誰が 変更した人物
何を 変更されたファイルの内容
なぜ 変更した理由やメッセージ

バージョン管理システムは、変更のたびに四つの情報を記録します。いつ変更されたか、誰が変更したか、何が変更されたか、そしてなぜ変更したのかという理由です。この四つが揃うことで、後から履歴を追えるようになります。

できること:復元と統合

  • 過去の任意の時点の状態に戻せる(復元)
  • 複数人の変更を一つにまとめられる(統合)
  • これにより上書き事故や版の混乱を防げる

バージョン管理システムでできることは大きく二つあります。一つは、過去の任意の時点の状態に復元できることです。もう一つは、複数人が別々に加えた変更を一つに統合できることです。これにより、上書き事故や版の混乱を防げます。

集中型と分散型

  • 集中型:履歴を持つのはサーバのみ
  • 分散型:各利用者の手元にも全履歴の複製がある
  • 分散型はオフラインでも履歴参照やコミットができる

バージョン管理システムには集中型と分散型という二つの方式があります。集中型は履歴をサーバだけが持ちますが、分散型は各利用者の手元にも全履歴の複製が置かれます。そのため分散型では、オフラインでも履歴の参照や記録ができます。

集中型と分散型の図

集中型では履歴を持つサーバーに全員が接続します。分散型では、サーバーだけでなく各利用者の手元にも全履歴の複製があり、対等な関係になっています。

まとめ

  • 日付付きコピーは理由不明・最新版不明を招く
  • さらに複数人での上書き事故も起こる
  • バージョン管理システムは四つの情報を記録する
  • いつ・誰が・何を・なぜ、が記録される
  • 復元と統合により、これらの問題を解決できる
  • 集中型はサーバのみ、分散型は各利用者にも履歴を持つ

この単元では、日付付きのコピー保存が理由不明・最新版不明・上書き事故という形で破綻することを学びました。バージョン管理システムはいつ・誰が・何を・なぜを記録し、復元と統合によってこれらの問題を解決します。そして、履歴をサーバだけが持つ集中型と、各利用者の手元にも履歴を持つ分散型という二つの方式があることを確認しました。

確認テスト

学んだ知識をクイズ問題でチェック!

すべての単元を見るには…

Git 入門講座

Git入門講座

開発実務の経験がないエンジニア志望者を想定した、Git によるバージョン管理の基礎を学ぶeラーニング講座です。9つのパートの解説と練習問題を通じて、Git の基礎を体系的に学ぶことができます。

受講チケットのお求めはこちら
  • 次の単元

1 / 9 単元

講座情報

Git 入門講座(試用版)

「Git 入門講座」のお試し用サンプル教材です。確認テストの試用にはログインが必要です。ユーザー登録は無料。詳しくは、利用ガイドをご覧ください。

 講座ページへ
Module 1: バージョン管理とGitの全体像
1 なぜバージョン管理が必要か
2 Git とは何か:リポジトリとコミット
3 Git と GitHub、そして全体像
4 【練習】バージョン管理と Git の全体像
Module 2: 環境準備と初期設定
5 Git を動かし、調べる
6 設定の 3 階層と本人情報
7 環境に合わせた設定
8 日本語環境・効率化・調べ方
9 【練習】環境を準備する

利用ガイド

  • はじめに
  • 受講チケットの購入
  • 講座と教材の利用
  • 教材検索
  • 企業団体向け機能
  • セキュリティについて
  • パートナー様向け機能
  • 利用ガイド
  • 特定商取引法に基づく表記
  • プライバシポリシー
  • 運営会社

SQT はシナジークエストが運営するオンラインIT学習サイトです。