2014.02.26 システム
「バージョン管理システム」の「リプレース」を考えています!!
サーバインフラエンジニアの大橋です。
最近、バージョン管理システムのリプレースを目論んでいるのですが、悩んでいます。
現在はプロジェクトに応じて「CVS」もしくは「Subversion」を活用しているのですが、
チーム開発をより柔軟化できる「分散型バージョン管理システム」を採用するべきか
結構、考え込んでいます。<アドバイスあれば是非!!>
一応、候補としては、分散型バージョン管理システムとして、いま一番アツイ「Git」が
最有力候補なのですが、経験したエンジニア曰く「CVSやSVNと比べると使いこなすには
スキルが必要だよー」と言われて、これで、またまた悩んでしまいました。
「CVS」や「SVN」は「集中型バージョン管理システム」という方式なので、サーバにて
集中管理されている中央リポジトリとのやり取り(チェックアウトとコミットを繰り返す)
なので、至ってシンプルな操作ですが、できることは限られています。
一方、「Git」は「分散型方式」なので、中央リポジトリのクローンをローカルリポジトリ
として、各自のクライアント内に保管(プル)することから始まります。
その後、このローカルリポジトリとのやり取り(プルとプッシュを繰り返す)でソースコード
を記述していくことになり、最終的に中央リポジトリへプッシュして、マスタ保管が完了!!
いうフローになる訳ですが、、、
様々なプロジェクトで有効活用できるとは感じますが、過去資産の移行やルールまとめ等を
考えると、やはり、悩みどころです。「Git」を集中型方式として使用することも可能との
ことなので、まずは、できることから始めるつもりです。<つづく>