のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

GitとSubversion どこが違うの!?

Sponsored Links

皆さんこんにちは
お元気ですか。私は元気です。

さて、バージョン管理ソフトには2つのソフトウェアがあります。
一つはGit,もう一つはSubversionです。

昔はSubversionが主流で段々とGithubが増えてきた感じでしょうか。僕はSubversionを使っていますが…。

これらの違いについて見て行きたいと思います。

Subversion

f:id:tereka:20140802183146p:plain

ユーザーはローカルにcheckoutでフォルダを引っ張ってきますが、add+commitで更新する際には必ず、リモートにあるリポジトリを変更することになります。
集中型のバージョン管理システムですね。

利点

複雑ではない。リポジトリが一本化されているので、使う側としては非常に使いやすい。シンプル

欠点

リモートにあるリポジトリが崩壊すると、困る
リポジトリとは別にファイルを生成することが難しい。(branch切れない困る)

Git

f:id:tereka:20140802183334p:plain

リポジトリ自体をローカルにcloneすることになります。そのリポジトリを更新し、更にそのリポジトリをリモートにPushすることができます。
こちらはSubversionとくらべて、分散型のバージョン管理システムです。

利点

リモートだけでなく、ローカルにリポジトリがある。色々な形式への変更ができる
リモートが死んでも生き残れる。
Githubみたいな可視化サービスを行っている会社がある。わかりやすい。
最近、オープンソースのコードが公開されていることがある

欠点

複雑です。運用方法の考慮が必要。これがネックとなって運用の変更ができないところもあるんだそうな。