Apache Subversion または SVN は、最も人気のある集中バージョン管理システムの 1 つです 。現在、SVN の人気は低下傾向にありますが、SVN には依然として数百万のプロジェクトが保存されています。オープンソース コミュニティによって積極的に維持され続けることができます。 SVN では、リポジトリの単一バージョンをチェックアウトできます。データは中央サーバーに保存されます。 SVN の欠点は、履歴全体がローカル リポジトリ上にあるため、制限があることです。実行できるのは、コミット、差分、ログ、ブランチ、マージ、ファイルの注釈などのみです。
その間、 Git は人気のある分散バージョン管理システムです これは、リポジトリのクローンを作成できることを意味します。したがって、そのプロジェクトの履歴全体の完全なコピーを取得できます。これは、すべてのコミットにアクセスできることを意味します。
Git には SVN よりも多くの利点があります 。マスター リポジトリに常に接続しているわけではない開発者にとっては、この方がはるかに優れています。また、SVN よりもはるかに高速です。
Git と Subversion の違いをより深く理解するため。以下の重要なポイントを見てみましょう。
ギット | SVN |
---|---|
分散型バージョン管理システムです。 | 集中バージョン管理システムです |
Git は SCM (ソース コード管理) です。 | SVN はリビジョン管理です。 |
Git にはクローンされたリポジトリがあります。 | SVN にはクローンされたリポジトリがありません。 |
Git ブランチは使い慣れたものです。 Git システムは、ファイルを迅速にマージするのに役立ち、また、マージされていないファイルを見つけるのにも役立ちます。 | SVN ブランチはリポジトリ内に存在するフォルダーです。ブランチをマージするには、いくつかの特別なコマンドが必要です。 |
Git にはグローバル リビジョン番号がありません。 | SVN にはグローバル リビジョン番号があります。 |
Git には暗号的にハッシュされたコンテンツがあり、ネットワークの問題やディスク障害によるリポジトリの破損からコンテンツを保護します。 | SVN には暗号的にハッシュされたコンテンツはありません。 |
Git にメタデータとして保存されたコンテンツ。 | SVN はコンテンツをファイルとして保存します。 |
Git は SVN よりも強力なコンテンツ保護を備えています。 | SVN のコンテンツは Git ほど安全ではありません。 |
Linus Torvalds は Linux カーネル用の git を開発しました。 | CollabNet, Inc が SVN を開発しました。 |
Git は GNU (一般公衆ライセンス) に基づいて配布されます。 | SVN はオープンソース ライセンスに基づいて配布されます。 |