GitとSVNの違い

Anonim

GitとSVN

GitとSVNはどちらもソフトウェアです。 GitはSCM、ソースコード管理、分散リビジョン管理システムです。 SVNはリビジョン管理とソフトウェアのバージョン管理システムです。

Gitはスピードを重視したSCMです。 LinuxカーネルのためにLinus Torvaldsによって開発されました。リビジョン追跡能力と完全な履歴を持つリポジトリがあります。このリポジトリは、中央サーバーまたはネットワークアクセスに依存しません。それはフリーソフトウェアです。 GitはGNUの下で配布され、メンテナンスはHamano Junioによって監督されています。 Apache Subversion(SVN)は、オープンソースライセンスの下で配布されています。これは非分散型VCSバージョン管理システムです。リポジトリには、集中化されたサーバーまたは集中化されたサーバーがありません。これは主に、ソースコード、ドキュメント、およびWebページの履歴および現行バージョンの保守に使用されます。 SVNの主な目的は、CVS、Concurrent Version Systemの後継として使用されることです。 CollabNet、Inc.によって開発されました。

<! - 1 - >

Gitに保存されているコンテンツはメタデータです。これはaという名前のフォルダにコンテンツを格納します。 gitフォルダに格納されます。 。マシンのgitフォルダはクローンされたリポジトリです。フォルダは、中央リポジトリのように、すべてのタグ、バージョン履歴、ブランチなどで構成されます。 SVNはファイルを保存します。彼らはクローンされたリポジトリを持っていません。

Gitブランチは使いやすくなっています。このシステムは、ファイルをすばやくマージするのに役立ちます。また、マージされていないものを見つけるのにも役立ちます。 SVNブランチは、実際にリポジトリに存在するフォルダです。ブランチをマージするには、特別なコマンドが必要です。

<! - 2 - >

SVNにはグローバルリビジョン番号があり、リビジョン番号はソースコードのスナップショットです。魔女はこれを持っていません。

Gitには暗号化された内容があります。これは、SHA1ハッシュアルゴリズムと呼ばれるアルゴリズムの使用によって行われます。この機能は、ネットワークの問題やディスクの障害によってリポジトリが破損するのを防ぐのに役立ちます。

要約:

<! - 3 - >
  1. Gitは分散VCSです。 SVNは非分散VCSです。
  2. Gitにはサーバーとリポジトリが集中しています。 SVNには、集中サーバーまたはリポジトリがありません。
  3. Gitのコンテンツはメタデータとして保存されます。 SVNはコンテンツのファイルを保存します。
  4. GitブランチはSVNブランチよりも簡単に動作します。
  5. GitにはSVNのようなグローバルリビジョン番号機能はありません。
  6. GitはSVNよりも優れたコンテンツ保護を持っています。
  7. GitはLinus TorvaldsによってLinuxカーネル用に開発されました。 SVNはCollabNet、Inc.によって開発されました。
  8. GitはGNUの下で配布され、メンテナンスはHamano Junioによって監修されました。 Apache Subversion(SVN)は、オープンソースライセンスの下で配布されています。