svnとgitの違いは何ですか
svn と git の違いは何ですか?
git と svn の違い
GIT はバージョン管理システムであるだけでなく、コンテンツ管理システムでもあります ( CMS)・勤務管理システムなどSVN の使用経験がある場合は、GIT が提供する概念や機能の一部に適応するために、精神的な変更を加える必要があります。
1. GIT は分散されますが、SVN はそうではありません:
これが、GIT と、SVN、CVS などの他の非分散バージョン管理システムとの主な違いです。この概念を理解できれば、半分まで到達したことになります。少し免責事項を付けておきますが、GIT は現在最初または唯一の分散バージョン管理システムではありません。 Bitkeeper、Mercurial など、分散モードで実行されるシステムもいくつかあります。ただし、GIT はこの点で優れた機能を備えており、より強力な機能を備えています。
GIT には、SVN と同様に、独自の集中リポジトリまたはサーバーがあります。ただし、GIT は分散モードで使用することを好みます。つまり、各開発者は、中央リポジトリ/サーバーからコードをチェックアウトした後、自分のマシン上に自分のリポジトリのクローンを作成します。飛行機内、地下室、エレベーター内など、インターネットにアクセスできない場所に閉じ込められた場合でも、ファイルの送信、履歴バージョン レコードの表示、プロジェクト ブランチの作成などを行うことができると言えます。あまり役に立たないと思われる方もいるかもしれませんが、突然ネットワークのない環境に遭遇した場合、これで大きな問題が解決されます。
同様に、この分散オペレーティング モードは、オープン ソース ソフトウェア コミュニティの開発への大きな贈り物でもあります。以前のようにパッチ パッケージを作成して電子メールで送信する必要はなくなり、A を作成するだけで済みます。プロジェクト チームにプッシュ リクエストを送信するブランチ。これにより、コードが最新の状態に保たれ、転送中に失われることがなくなります。 GitHub.com は非常に優れた事例です。
Subversion の将来のバージョンも分散モードに基づいているという噂が広まっています。しかし、少なくともそれはまだ見えていません。
2.GIT はコンテンツをメタデータごとに保存しますが、SVN はコンテンツをファイルごとに保存します。
すべてのリソース制御システムは、ファイルのメタ情報を .svn、.cvs などのフォルダーに似たファイルに隠します。 .git ディレクトリのサイズと .svn のサイズを比較すると、大きく異なることがわかります。 .git ディレクトリはマシン上のリポジトリのクローン バージョンであるため、タグ、ブランチ、バージョン レコードなど、中央リポジトリ上のすべてのものが含まれています。
3. GIT ブランチは SVN ブランチとは異なります:
ブランチは SVN では特別なものではなく、リポジトリ内の単なる別のディレクトリです。ブランチがマージされているかどうかを知りたい場合は、 svn propget svn:mergeinfo のようなコマンドを手動で実行して、コードがマージされているかどうかを確認する必要があります。この機能を指摘してくれたクラスメートの Ben に感謝します。したがって、一部の分岐が見逃されることがよくあります。
しかし、GIT ブランチの操作は非常にシンプルで楽しいものです。同じ作業ディレクトリから複数のブランチ間をすばやく切り替えることができます。マージされていないブランチを簡単に見つけることができ、これらのファイルを迅速かつ簡単にマージできます。
4.GIT にはグローバル バージョン番号がありませんが、SVN には次のようなものがあります。
これまでのところ、SVN と比較して GIT に欠けている最大の機能です。また、SVN バージョン番号は実際には、対応する時点のソース コードのスナップショットであることもわかります。これは CVS から SVN への進化における最大のブレークスルーだと思います。 GIT と SVN は概念的に異なるため、GIT のどの機能がそれらに対応するのかわかりません。手がかりがある場合は、コメントで共有してください。
更新: 一部の読者は、GIT の SHA-1 を使用してコード スナップショットを一意に識別できると指摘しました。これは、SVN の読みやすい数値のバージョン番号を完全に置き換えるものではありません。ただし、目的は同じである必要があります。
5. GIT のコンテンツの整合性は SVN より優れています:
GIT のコンテンツ ストレージは SHA-1 ハッシュ アルゴリズムを使用します。これにより、コード コンテンツの整合性が確保され、ディスク障害やネットワークの問題が発生した場合のリポジトリへの中断が軽減されます。
関連する推奨事項:「Git チュートリアル 」
以上がsvnとgitの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

Beegoormフレームワークでは、モデルに関連付けられているデータベースを指定する方法は?多くのBEEGOプロジェクトでは、複数のデータベースを同時に操作する必要があります。 Beegoを使用する場合...

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

H5ページは、コードの脆弱性、ブラウザー互換性、パフォーマンスの最適化、セキュリティの更新、ユーザーエクスペリエンスの改善などの要因のため、継続的に維持する必要があります。効果的なメンテナンス方法には、完全なテストシステムの確立、バージョン制御ツールの使用、定期的にページのパフォーマンスの監視、ユーザーフィードバックの収集、メンテナンス計画の策定が含まれます。

XMLをExcelに変換するには、組み込みのExcel機能またはサードパーティツールを使用する方法は2つあります。サードパーティツールには、XML To Excel Converter、XML2Excel、XML Candyが含まれます。

GOプログラミングのリソース管理:MySQLとRedisは、特にデータベースとキャッシュを使用して、リソースを正しく管理する方法を学習するために接続およびリリースします...
