テックブログ

バージョン管理システム導入のご提案

更新日:

みなさま、こんな光景に心当たりはないでしょうか?

バージョン管理とは名ばかりのカオスな状況

こんな風にファイル名やフォルダ名に日付を追加してコピーして次の日もまたファイル名に日付をつけてコピーしてその次の日もまたファイル名に日付をつけてコピーして・・・というのを繰り返しては結局どれが最新なのかどこをどう変更したのかさんざん右往左往した挙句にファイルがデグレって今までの作業全部ムダだったよウワァァァ!!ってすべてを捨ててインドの山奥で座禅組みたくなる時がありますよね?

すみません、ファイル名やフォルダ名に日付をつけて変更前のものを取っておくというやり方にトラウマがあるようで、出だしから錯乱してしまいました。

何かあったときのために、ファイル名に日付をつけて過去のファイルを残しておく、という方法を目にしたり実際におこなっていたりする機会は多いと思います。そしてどれが正しいのか分からなくなってヒドい目にあうことも。

こんな目に遭わないために、ちゃんとバージョン管理システム(VCS)を使いましょう。

と言うものの、悲しいことに上司や同僚の理解なくしてバージョン管理システムの導入は進みません。今回はバージョン管理システム導入のメリットと、上司や同僚を説得できるような情報をご紹介しようと思います。

バージョン管理システムを使うとできること

一般的にバージョン管理ツールでは基本的に下記の機能を提供します。

  1. ファイルの変更履歴(ファイルの変更内容、変更日時、変更したユーザの情報)を保管する機能
  2. 過去の変更内容が確認できる機能
  3. 変更前の状態を復元できる機能

そもそもファイル名に日付をつけてコピーして・・・というやり方は上記の機能のうち、1と3を人力でどうにかしようとしていたんですね。
2については、ファイル比較ツールで頑張れないこともないですが、管理するファイルの数が多くなると、変更内容を確認するのに時間がかかってしまい非効率です。

でも、難しいんでしょう?

バージョン管理システムを使ったバージョン管理方法の考え方ですが、最初はこれだけでいきましょう。

ファイルを修正して、作業がひと段落ついたタイミングでコミット

コミットというのは、簡単に言うとファイルの変更内容をバージョン管理システムに登録することです。ファイル名やフォルダ名に日付や通し番号をつけてコピーするようなものですね。

ただし、ファイルコピーと違い、いつ、どのような変更を加えたのかは人間の代わりにすべてバージョン管理システムが記録してくれます。今までと違って「どれが最新のファイル?」と頭を抱えることもありません。
さらに、コミットには、ファイルの変更内容と同時に、何故このように変更したのかといったメモを追加することもできます。

バージョン管理方法には、プロジェクトごとにルールや制約があったりするのですが、最初からいろいろとルールを決めるとハードルが高く感じられてしまうので、最初はシンプルなルールで運用しましょう。

で、何を使えばいいの?

バージョン管理システムと一口に言ってもオープンソースのプロダクトや企業向けのパッケージシステムなど色々とあります。その中でも今回は分散型のバージョン管理システムの一つであるgitをオススメします。

理由としては下記が挙げられます。

  • ローカルPCだけで小さく始められる。
  • ネットワークに繋がっていなくてもローカルPCでのコミットやコミット履歴の参照が可能。
  • サーバが必要になってもクラウドサービスとして提供されている(例:github、BitBucketなど)ので簡単に調達可能。
  • 社内で完全に閉じた状態で運用したい場合、サーバの構築も容易。
  • オープンソースなので、ベンダーロックインされない。
  • 元々、Linuxカーネルのソースコードを管理するために開発されたので、しっかりとした実績がある。
  • WindowsとMac両方で使える、とても使いやすいGUIソフトが無料で公開されている。
  • 利用者が多いので、流通している情報が豊富。gitについての書籍も多く出版されている。

バージョン管理システムのことを何も知らない上司や同僚にとって、一番のハードルの高さは学習コストだと思います。
その点、利用者が多いので何か分からないことがあっても簡単に調べられるというのは大きなメリットです。

また、コマンドラインでの操作はを覚えるのは大変ですし、覚えていたとしても毎回の操作は面倒なもの。。。(たまにコマンドラインの方が楽な時もありますが。)
そんなときにはアトラシアン社が無料で公開している、SourceTreeというアプリを使いましょう。
SourceTreeはhttps://www.sourcetreeapp.com/で公開されています。Windows用とMac用の両方があるのが嬉しいですね。

ファイルコピー地獄から解放されるために

どれだけバージョン管理システムのメリットや利用例を伝えても「今のやり方で困ってないんだから別にいいじゃないか」「新しいやり方に切り替える方が大変」「ファイルコピーで何が悪い!これが俺たちのバージョン管理なんだ!!」という意見で、導入に反対されることが多々あります。
特に、長い間ファイルコピーでどうにかやれてこれた人は反対する傾向が強いと思います。

まずは自分の周りから小さく始めて、反対派がファイルコピー地獄にハマってるのを横目にバージョン管理システムのメリットを享受しているところを実際に見せつけて、地道に導入を進めていきましょう!

 

-テックブログ

Copyright© プラス・ムーブメント合同会社 , 2019 All Rights Reserved Powered by AFFINGER5.