Git はオープンソースの分散バージョン管理システムであり、小規模から非常に大規模なプロジェクトまでのバージョン管理を効果的かつ迅速に処理するために使用されます。 svn は、複数の人が同じプロジェクトを共同開発し、共有リソースを実現し、最終的には集中管理を実現するために使用されるオープンソースの集中バージョン管理システムです。
このチュートリアルの動作環境: Windows 7 システム、Git バージョン 2.30.0、Dell G3 コンピューター。
git とは
Git は、あらゆるタスクまたは小規模なタスクを機敏かつ効率的に処理するための、無料のオープンソース分散バージョン管理システムです。大規模プロジェクト
Git はオープンソースの分散バージョン管理システムであり、小規模から非常に大規模なプロジェクトまでのプロジェクトのバージョン管理を効果的かつ迅速に処理するために使用されます。 Git は、Linux カーネル開発の管理を支援するために Linus Torvalds によって開発されたオープン ソースのバージョン管理ソフトウェアです。
分散型と集中型の最大の違いは、開発者がローカルで送信でき、各開発者が複製 (git clone) を通じて完全な Git リポジトリをローカル マシンにコピーすることです。
#Git は分散バージョン管理システムです
#Git には次の特徴があります:
# とは##SVN は Subversion の略で、オープンソースのバージョン管理システムです。ブランチ管理システムの効率的な管理を通じて、つまり、複数の人が同じプロジェクトを共同開発し、リソースの共有を実現するために使用されます。を追求し、最終集中を実現するスタイルマネジメント。 SVN は、時間の経過とともに変化するデータを管理します。このデータは中央リポジトリに配置されます。このアーカイブは通常のファイル サーバーとよく似ていますが、すべてのファイル変更を記憶します。このようにして、ファイルを古いバージョンに復元したり、ファイルの変更履歴を参照したりできます。 Subversion は、プログラム ソース コードを含むあらゆる種類のファイルの管理に使用できる汎用システムです。
SVN は集中バージョン管理システムです。
集中バージョン管理システムには、すべてのファイルのリビジョンを保存する単一の集中管理サーバーがあり、一緒に作業する人々はクライアントを通じてこのサーバーに接続し、最新のファイルを取得したり、更新を送信したりします。
svn の特徴は次のように要約できます。各リポジトリは、各ユーザーごとに固有の URL (公式アドレス) を持ちます。このアドレスからコードとデータを取得します。
コードの更新を取得するには、この一意のバージョン ライブラリに接続し、同期して最新のデータを取得することのみ可能です。
提出にはネットワーク接続が必要です (ローカル リポジトリ以外);
送信には承認が必要です。書き込み権限がない場合、送信は失敗します。
送信は毎回成功するとは限りません。他の誰かがあなたより先に提出すると、「変更は古いバージョンに基づいています。最初に更新してから提出してください」というプロンプトが表示されます...など;
競合解決は競争です送信速度の違い: 速い人は最初に送信しても何も起こりませんが、遅い場合は後で送信すると、面倒な競合解決が発生する可能性があります。
利点: プロジェクト内の他の人が取り組んでいることを誰もがある程度見ることができます。管理者は、各開発者の権限を簡単に制御することもできます。
欠点: 中央サーバーの単一障害点。
1 時間ダウンした場合、誰もこの 1 時間以内に更新、復元、比較などを送信できなくなり、共同作業することができなくなります。中央サーバーのディスクに障害が発生し、バックアップが作成されないか、バックアップのタイミングが十分でない場合、データが失われるリスクがあります。最悪のシナリオは、クライアントによって抽出された一部のスナップショット データを除いて、プロジェクト全体の変更履歴レコードがすべて完全に失われることですが、これは依然として問題であり、すべてのデータが抽出されたことを保証することはできません。
原則として、svn はファイルの内容の特定の違いのみを考慮します。毎回、どのファイルが更新されたか、どの行と内容が更新されたかが記録されます。
svn と git の適用範囲の違い
適用できるオブジェクトが異なります。
Git は、オープンソース プロジェクトに携わる開発者に適しています。彼らは高度な専門知識を持っているため、使いやすさよりも効率を重視しています。 SVN は異なり、一般的な企業の開発チームに適しています。使いやすくなりました。
Git では、ウェアハウス全体を分岐することしかできず、一度削除すると復元することはできません。 SVN では、ブランチは任意のサブディレクトリをターゲットにすることができます。これは本質的にコピー操作です。したがって、多くの階層ブランチを作成し、不要になったら削除し、将来必要になったときに古い SVN バージョンをチェックアウトするだけで済みます。
たとえば、携帯電話プロジェクトの bsp/設計ドキュメント/ファイル システム/アプリケーション/自動コンパイル スクリプトを SVN ウェアハウスに保存したり、5 つの携帯電話プロジェクトのファイル システムを SVN に保存したりできます。 n (プロジェクト数)*m (コンポーネント数) のリポジトリを git に確立する必要があります。 SVN では、n または m までしか必要ありません。
git の一般的な開発プロセスは、ブランチの確立、開発、ローカル マスターへの送信、ブランチの削除です。この結果、以前の変更の詳細は失われます。
詳細を失うことなく、SVN で同じことを実行します。
#部分更新、部分復元。以上がgitとsvnとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。