【初心者がざっくり理解する】バージョン管理とは?

バージョン管理とは?
  • このエントリーをはてなブックマークに追加
  • Pocket

バージョン管理とは、システムの変更を管理することだ。バージョン管理をするシステムをバージョン管理システム(version control system)という言う。

バージョン管理システムは現代のエンジニアにとってなくてはならないシステムになっている。

このページでは「バージョン管理とは?」について解説をしてみた。参考にしていただければ幸いだ。

バージョン管理とは?

バージョン管理とは、プロジェクトの中で更新されていく様々な成果物の変更の履歴を成果物そのものも含めて記録することだ。

ここでいう成果物はプログラムが書かれたプログラムやファイル、画面定義ファイル、設定ファイルやXMLファイルなどプロジェクトに関係する様々なものを指す。

もっというと、他のどんなファイルでも良い。

分かりやすくするためにプログラムが書かれたプログラム・ファイルのバージョン管理を考えてみよう。

code

ある機能を追加するためにプログラム・ファイルは書き換えられる。この時記録されるのは、いつ、誰が、どこに、どのような変更を行ったかである。

どのような変更を行ったかが分かるようにプログラム・ファイルそのものの内容も記録される。こうして、後でバージョン管理によって記録された情報からプログラム・ファイルに対する変更がどのようなものかを誰もが知ることができたり、以前のバージョンのプログラム・ファイルの内容に戻したりすることができる。

これらの管理を自動化したツールがたくさんある。代表的なものとしては、Git、Subversion、CVSなどである。一般的にバージョン管理はこれらのツールを使って行われる。

バージョン管理による変更の記録

実際のバージョン管理によってどのように変更が記録されるかを見てみよう。3人のプログラマがそれぞれプログラム・ファイルを変更したとする。その変更がバージョンごとに記録される。

バージョン管理とは

バージョン管理を利用した例

では、このように記録された変更の記録をどのように利用することができるか例を用いて見てみよう。

最初の例は、担当のプログラマが変わった場合である。田中さんが突然退社したため中村さんがプログラム-01の機能の追加を新たに担当するようになったとしよう。この時、中村さんは退社した田中さんから直接聞かなくてもバージョン管理からこれまでだれが、いつ、どのような変更を行ったかを知ることができる。

バージョン管理の例

次の例は誤ってコードを修正したり削除したりしてしまった時だ。エディタの編集機能を使ってある程度コードを前の状態に戻すことができる。しかし、そうできなくてもバージョン管理によってプログラム・ファイルが保存されているので、直前のバージョンに保存されたファイルからソースコードを復元させることができる。

次の図はプログラマの田中さんが誤って修正してしまったコードを直前のバージョンに戻しているところである。

recover

最後にプログラムにバグが見つかった時について考えてみよう。

バージョン管理がなされていれば、過去に保存したプログラム・ファイルを使ってテストすると最初はなかったバグがどのバージョンから発生しているかを調べることができる。

そして、バグがなかったバーションとバグが発生したバージョンのソースコードを比較すると、バグの原因と関係あるコードを見つけることができる。

次の図は、テスト結果からバージョン1.0 にはなかったバグがバージョン1.1で発生していることを示している。つまり、バージョン1.0から1.1への変更の間にバグの原因があることが分かる。

bug

この他にもバージョン管理にはたくさんの活用方法がある。ぜひ理解を深めてもらいたい分野である。

まとめ

このページではバージョン管理とは何かについてまとめてご紹介してきた。エンジニアにとって必要不可欠な技術だ。ぜひ使い方を覚えていっていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する