GITとSVNの5つの基本的な違い

この記事を読んでいるなら、ほとんどの開発者が正しいGITGITを試してみる機会がなかったら、理解しなければならないと思っています。

GIT
バージョン管理システムだけでなく、コンテンツ管理システム(CMS)、作業管理システムなどです。あなたがSVNのバックグラウンドを持っている人なら、GITが提供するいくつかの概念と機能に対応するために、思考変換を行う必要があります。だから、この記事の主な目的は、GITがそれに何ができるのかを記述することですSVNあなたがそれを知るのを助けるより深いレベルでの違いは何ですか?

それは大丈夫です、ここにあります…

 

  1. GITは配布され、SVNは配布されません:

    これは、GITとSVNやCVSなどの他の非分散バージョン管理システムとのコアとなる違いです。あなたがこのコンセプトを理解すれば、あなたは中途半端です。いくつかの宣言をする必要があります、GITは、最初または唯一の分散バージョン管理システムではありません。他のシステムもあります。ビットキーパー水銀また、分散モデルでも実行されています。しかし、GITはこの分野でもっとうまくやっており、もっと強力な機能を持っています。

    SVNのようなGITには、独自の集中リポジトリまたはサーバがあります。しかし、GITは分散モードでの使用を好みます。分散モードでは、各開発者は、中央のリポジトリ/サーバからコードをチェックアウトした後、自分のマシン上に独自のリポジトリをクローンします。あなたがなど、平面、地下室、エレベーターの上のように、ネットワークに接続できない場所に閉じ込められている場合、あなたはまだように、バージョン履歴レコードに書類を提出し、プロジェクトのブランチを作成し、することができ、言うことができます。いくつかは、これはあまり使われていないようですが、突然ネットワーク環境に遭遇したとき、これはあなたの大きな問題を解決します。

    ここでも、この動作分散モードは、オープンソースソフトウェアコミュニティの開発のための素晴らしい贈り物でもある、あなたは電子メールの道を経由して送信され、以前のようにパッチとして加える必要はありません、あなただけの、プロジェクトチームブランチを作成する必要がありますプッシュリクエストを送信します。これは、最新のコードを可能にし、伝送中に失われることはありません。GitHub.comそれはそのような良いケースの1つです。

    将来のバージョンのSubversionもまた、分散モードに基づいているという噂が出ています。しかし、少なくともそれを見ていない。

  2. GITコンテンツはメタデータストレージで、SVNはファイルごとです:

    すべてのリソース制御システムは、.svn、.cvsなどのフォルダ内のファイルのメタ情報を隠します。 .gitディレクトリのサイズを.svnと比較すると、大きな違いがあることがわかります。 .gitディレクトリはマシン上のリポジトリのクローンであるため、ラベル、ブランチ、バージョンレコードなど、すべてのものが中央リポジトリにあります。

  3. GITブランチとSVNのブランチは異なります:

    SVNのブランチはまれではなく、リポジトリ内の別のディレクトリです。ブランチがマージされているかどうかを知りたければ、このようなコマンドを手動で実行する必要がありますsvn propget svn:mergeinfo、コードがマージされていることを確認します。この機能を指摘してくれたベンの学生に感謝します。したがって、一部の支店が見逃されていることがよくあります。

    しかし、GITの支店を扱うことは、かなり簡単で楽しいです。同じ作業ディレクトリから複数のブランチに素早く切り替えることができます。統合されていないブランチを簡単に見つけることができ、これらのファイルを簡単かつ迅速に組み合わせることができます。

  4. GITにはグローバルバージョン番号はなく、SVNには次のものがあります:

    これはSVN上のGITからはるかに大きな欠点です。ご存知のように、SVNのバージョン番号は、実際にはいつでもソースコードのスナップショットです。私はそれがCVSからSVNへの進化の最大のブレークスルーだと思う。 GITとSVNは概念的に異なるので、私はGITがどのような特性に対応しているのか分かりません。何か手がかりがある場合は、コメントで私たちと共有してください。

    アップデート:コードスナップショットを一意に識別するためにGIT SHA-1を使用できるという読者もいます。これは、SVNの読みやすいデジタルバージョン番号を完全に置き換えるものではありません。しかし、目的は同じでなければなりません。

  5. GITのコンテンツの完全性はSVNより優れています:

    Gitコンテンツの格納が使用されていますSHA-1ハッシュアルゴリズム。これにより、コードの内容の完全性が保証され、ディスク障害やネットワークの問題に直面してリポジトリが破損しないように保護されます。ここでは、GITコンテンツの完全性についての良い議論があります。http://stackoverflow.com/questions/964331/git-file-integrity

GITとSVNの間に違いはありますか?もちろんです。私はこれらの5はちょうどだと思う“最も基本的な”そして“最も魅力的な”私はこの5時を考えています。この5つのポイントよりも興味深いものが見つかった場合は、共有してください。歓迎します。

コメントを残す