質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Mercurial

Mercurialとはオープンソースの分散型バージョン管理システムです

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

Q&A

解決済

3回答

15226閲覧

GitとSVNでSVNを選ぶ現場の方が多いのは何故?

Mentol

総合スコア33

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Mercurial

Mercurialとはオープンソースの分散型バージョン管理システムです

SVN

SVNは、CollabNet社が開発したソースコードなどを管理する集中型のバージョン管理システムです。 Subversionとも呼ばれ、CVSの問題点を解決すべく開発された次世代のバージョン管理システムとして開発されました。基本的なコマンドはCVSと共通しています。複数人の開発者が共同でひとつのソフトウェアの開発にあたるときなどに、ドキュメント及びソースコードなどを管理するのに使用されます。

1グッド

0クリップ

投稿2016/12/05 09:59

まだ2つしか現場を経験してませんが、1つはSVN、1つはMercurialです。
同僚の話を聞くとやはりSVNばかりのようでした。
ネットにはSVNと比べたGitの優位性を説いてる記事や資料は多く出てきますし、Gitの学習サイトも充実してると思います。
何故、SVNを選ぶ現場の方が多いのでしょうか?

A-pZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

大体、root_jpさんの回答と似通ったものになりますが。
Subversion(SVN)がCVSの後継であるという歴史的背景もあるのかなと思います。Subversion以前にCVSというバージョン管理システムがありました。これもまた、かつてデファクトスタンダードとして多くの現場で採用されていました。背景は省きますが、CVSの開発スタッフがSubversionを設計する際、操作性はCVSとあまり変わらないことを念頭に置いていたそうです。これかなり重要で、ユーザー側の導入コストを低く抑えることができたんですね(基本的にコマンドは同じ。cvssvnに置き換えたくらいの差異なので)。こうした面がSubversionが多く採用されている要因の一つにあると思います。
それと、私はgitを使うメリットとして分散管理があると考えているのですが(と言うか、これ結構アピールされてますし)、開発環境がクローズドで集中管理的な環境なのもその要因になるかなと思います。何だかんだ言っても、商用の開発に関してはまだまだクローズドです。歴史が長ければ尚更のこと。そんな環境の場合、集中管理型であるSubversionの方がやりやすいと思います(と言うか、事足りる)。gitやmercurialで分散管理型はオーバースペックとなるケースが多いのかなと。

投稿2016/12/05 14:58

archiver

総合スコア1557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mentol

2016/12/05 22:42

背景まで教えていただきありがとうございます! クローズだからというのはなるほどと思いました。
guest

0

Gitの知名度が上がるまでは、SVNがデファクトスタンダードでした。
今から起ち上げる会社であればGitを採用するかもしれませんが、
すでにSVNで浸透している企業では、新規プロジェクトでもSVNを使うのだと思います。

理由は大きく2つ考えられます。
1.別にSVNで困っていない
2.Gitは難しい

そしてこれらの合わせ技で、
「現状対して困っていないのに、わざわざ難しいものに移行する理由がない」となるのでしょう。
社員の人たちは、みんなで勉強すればいいとか思うのかもしれませんが、勉強するのもただじゃありません。
社員の勉強時間に会社が金を払うのですから、よっぽどのメリットがないと中々難しいでしょうね。
大きな会社であればあるほどGitへの移行は難しいと思います。

かと言って、「来月からGitに移行するので、各自勉強しておくように」とか言われても、
「なんでプライベートの時間けずってまで仕事しなきゃならないんすか?」みたいな社員は必ず出てきます。
これも大きな会社に多いと思います。
ベンチャー企業の社員は、技術にノリノリな人たちが多いですからね。

ただベンチャー企業は、新しい物を使うことが目的になっている人が多いです。自己満足ですね。
あまりインターネットの情報などに惑わされず、
開発の進め方や、バージョン管理ツールに何を求めるか、などを考えたうえでどれを採用するか?
という判断力を養うことが重要なのではないかと思います。

投稿2016/12/05 12:58

編集2017/06/21 15:21
root_jp

総合スコア4666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mentol

2016/12/05 22:43

たしかに大事なのはバージョン管理で何(を管理)するかですねー。 ありがとうございます!
guest

0

こんにちは。

ブランチを積極的に使うならGitを使うべきと思いますが、そもそもブランチをほとんど使わないならSVNの方が簡単です。
また、SVNは一度コミットするとそれを簡単には取り消せません。

なので、一般的なレベルのプログラマが多いプロジェクトではSVNの方が安心感が高いと思います。
結果として、より多くの人が使うバージョン管理システムはSVNになってしまうということではないでしょうか。

ブランチを使いこなせるようになったらGitの方が確実に生産性は上がると思うのですけど、そのハードルは結構高いと思います。

投稿2016/12/05 10:09

編集2016/12/05 10:10
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mentol

2016/12/05 22:45

少人数での開発だとブランチを最大限有効活用しなくてもなんとかなりますもんね〜。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問