現在、システム開発でよく使われているファイル、ソースコード管理のアプリといえば、gitでしょう。
gitのシステムを使い、タスク管理機能も備えたGitHubも多くの企業が使っています。
一方、この10年来、ソースコード管理といえばSubversionが多く使われてきており、いまだに多くのプロジェクトで使われています。
結局、どちらがいいのでしょうか?
小規模プロジェクトならsvnで十分
小規模なプロジェクトであれば、svnで十分事足ります。
また、新規開発案件など、ベースのコードが繁茂に代わるような状態なら、わずらわしい操作が少ないsvnの方が早いかと思います。
大規模ならやはりgit
一方、複数人が参加したり、オープンソースなどの開発では、gitの方が優れています。
強力なマージ機能があるので、svnでは競合してしまうような状況でもマージが成功する可能性が高いです。
小規模でもメリットがあるgit
小規模でもやはりメリットはあります。
とくに、運用状態のプロジェクトの管理は、ブランチ機能が充実しているgitの方が優れていると思われます。
また、ローカルブランチがあるため、masterを汚さずに気兼ねなくコミット出来るのも大きな利点でしょう。
でも、gitは操作が難しい
確かに、gitの概念を理解するのはちょっと時間がかかります。
周りに教えてくれる人がいれば早いですが、そうでない場合はやはり手間取るかと思います。
特に、今までファイル管理アプリを一度も使ったことが無い人にとっては、いきなりgitを使うのはかなり厳しいと思われます。
また、なまじ機能が多いだけに、いろいろな管理方法があるため混乱が生じやすいです。
複数の企業でgitを使って開発を行いましたが、それぞれルールが微妙にことなり、特にブランチが大量にあったりしてルールがさっぱりわからないということが多いように思います。
svnなら言われるまでもなく”trankをチェックアウトしてね”で済んでしまうのですが、gitの場合は企業ごとのローカルルールが多く参加するのに苦労します。
結局どちらがいいの?
やはり、多くがgitに移りつつあるので、出来ればgitを使えるようになったほうが良いと思われます。
linuxなどでアプリを設定する場合、gitからソースを持ってくることも多くなってきたので、cloneやアップデートのやり方程度は理解しておいて損はないと思います。
また、多くのgitクライアントではsvnのレポジトリにアクセスできる機能が備わっています。
そういったものをつかいながら、少しずつgitに慣れていくのがいいかと思われます。