ホームページ 開発ツール Git gitとsvnとは何ですか

gitとsvnとは何ですか

Nov 30, 2021 pm 02:09 PM
git svn

Git はオープンソースの分散バージョン管理システムであり、小規模から非常に大規模なプロジェクトまでのバージョン管理を効果的かつ迅速に処理するために使用されます。 svn は、複数の人が同じプロジェクトを共同開発し、共有リソースを実現し、最終的には集中管理を実現するために使用されるオープンソースの集中バージョン管理システムです。

gitとsvnとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Git バージョン 2.30.0、Dell G3 コンピューター。

git とは

Git は、あらゆるタスクまたは小規模なタスクを機敏かつ効率的に処理するための、無料のオープンソース分散バージョン管理システムです。大規模プロジェクト

Git はオープンソースの分散バージョン管理システムであり、小規模から非常に大規模なプロジェクトまでのプロジェクトのバージョン管理を効果的かつ迅速に処理するために使用されます。 Git は、Linux カーネル開発の管理を支援するために Linus Torvalds によって開発されたオープン ソースのバージョン管理ソフトウェアです。

分散型と集中型の最大の違いは、開発者がローカルで送信でき、各開発者が複製 (git clone) を通じて完全な Git リポジトリをローカル マシンにコピーすることです。

#Git は分散バージョン管理システムです

2 (1).png#Git には次の特徴があります:

    Git 内の各クローンのリポジトリは同等です。任意のリポジトリをクローンして独自のリポジトリを作成でき、必要に応じて自分のリポジトリを他の人のソースとして使用することもできます。
  • Git のすべての抽出操作は、実際にはコード リポジトリの完全なバックアップです。
  • 送信はローカルで完全に完了します。他の人があなたに承認を与える必要はありません。あなたはリポジトリのマスターであり、送信は常に成功します。
  • 古いバージョンに基づいた変更でも正常に送信でき、送信すると古いバージョンに基づいて新しいブランチが作成されます。
  • Git の送信は、作業に完全に満足するまで中断されません。他の人に PUSH するか、他の人にリポジトリを PULL してください。PULL プロセスと PUSH プロセス中にマージが発生します。不可能な競合自動的に解決されない場合は、手動で完了するように求められます。
  • 競合の解決は、SVN のような提出コンテストのようなものではなくなりましたが、マージと競合の解決は必要に応じて実行されます。
  • Git は集中作業モードをシミュレートすることもできます
  • Git バージョン ライブラリはサーバー上で統合されています
  • Git リポジトリを承認できます。誰がリポジトリを作成できるか、誰がリポジトリに PUSH できるか、誰がリポジトリを読み取る (クローンできる)
  • チームのメンバーが最初にクローンを作成しますサーバーのリポジトリをローカルに配置し、サーバーのリポジトリから最新の更新を頻繁にプル (PULL) します。
  • チーム メンバーは、他のメンバーが同期するときに、リポジトリ内で変更をサーバーのリポジトリにプッシュ (PUSH) します。リポジトリ (PULL) を使用すると、変更が自動的に取得されます。
  • Git の一元化された作業モデルは非常に柔軟です。
  • ##ネットワークから完全に切断することができます移動中や出張中など、Git サーバーが配置されている場所で、通常どおりコード ライブラリを使用できる
  • ネットワークにアクセスできれば十分ですGit サーバーが配置されている場所では、PULL と PUSH でサーバーとの同期を完了し、送信できます。
  • Git は rebase コマンドを提供しており、これにより、変更が最新のコード実装に基づいているように見えるようになります。
  • Git には Subversion よりも多くの作業モードから選択できます
svn

# とは##SVN は Subversion の略で、オープンソースのバージョン管理システムです。ブランチ管理システムの効率的な管理を通じて、つまり、複数の人が同じプロジェクトを共同開発し、リソースの共有を実現するために使用されます。を追求し、最終集中を実現するスタイルマネジメント。 SVN は、時間の経過とともに変化するデータを管理します。このデータは中央リポジトリに配置されます。このアーカイブは通常のファイル サーバーとよく似ていますが、すべてのファイル変更を記憶します。このようにして、ファイルを古いバージョンに復元したり、ファイルの変更履歴を参照したりできます。 Subversion は、プログラム ソース コードを含むあらゆる種類のファイルの管理に使用できる汎用システムです。

SVN は集中バージョン管理システムです。

集中バージョン管理システムには、すべてのファイルのリビジョンを保存する単一の集中管理サーバーがあり、一緒に作業する人々はクライアントを通じてこのサーバーに接続し、最新のファイルを取得したり、更新を送信したりします。

svn の特徴は次のように要約できます。

1 (1).png

各リポジトリは、各ユーザーごとに固有の URL (公式アドレス) を持ちます。このアドレスからコードとデータを取得します。

  • コードの更新を取得するには、この一意のバージョン ライブラリに接続し、同期して最新のデータを取得することのみ可能です。

  • 提出にはネットワーク接続が必要です (ローカル リポジトリ以外);

  • 送信には承認が必要です。書き込み権限がない場合、送信は失敗します。

  • 送信は毎回成功するとは限りません。他の誰かがあなたより先に提出すると、「変更は古いバージョンに基づいています。最初に更新してから提出してください」というプロンプトが表示されます...など;

  • 競合解決は競争です送信速度の違い: 速い人は最初に送信しても何も起こりませんが、遅い場合は後で送信すると、面倒な競合解決が発生する可能性があります。

利点: プロジェクト内の他の人が取り組んでいることを誰もがある程度見ることができます。管理者は、各開発者の権限を簡単に制御することもできます。

欠点: 中央サーバーの単一障害点。

1 時間ダウンした場合、誰もこの 1 時間以内に更新、復元、比較などを送信できなくなり、共同作業することができなくなります。中央サーバーのディスクに障害が発生し、バックアップが作成されないか、バックアップのタイミングが十分でない場合、データが失われるリスクがあります。最悪のシナリオは、クライアントによって抽出された一部のスナップショット データを除いて、プロジェクト全体の変更履歴レコードがすべて完全に失われることですが、これは依然として問題であり、すべてのデータが抽出されたことを保証することはできません。

原則として、svn はファイルの内容の特定の違いのみを考慮します。毎回、どのファイルが更新されたか、どの行と内容が更新されたかが記録されます。

svn と git の適用範囲の違い

  • 適用できるオブジェクトが異なります。

    Git は、オープンソース プロジェクトに携わる開発者に適しています。彼らは高度な専門知識を持っているため、使いやすさよりも効率を重視しています。 SVN は異なり、一般的な企業の開発チームに適しています。使いやすくなりました。

  • #使用される機会は異なります。

    Git は、インターネットを介して複数の開発ロールを持つ単一プロジェクトの開発に適しており、SVN は、プロジェクト マネージャーが調整する企業内での複数の並行プロジェクトの開発に適しています。

  • 権限管理戦略は異なります。

    Git には厳密な権限管理がありませんが、アカウントを持っていれば、コードのエクスポート、インポート、さらにはロールバック操作を行うことができます。 SVN は厳密な権限管理を備えており、特定のサブディレクトリに対する権限をグループまたは個人ごとに制御できます。読み取り権限と書き込み権限を区別します。より厳密には、ロールバック操作はサポートされていません。コードが常にトレース可能であることを確認してください。

  • #ブランチの利用範囲が異なります。
  • Git では、ウェアハウス全体を分岐することしかできず、一度削除すると復元することはできません。 SVN では、ブランチは任意のサブディレクトリをターゲットにすることができます。これは本質的にコピー操作です。したがって、多くの階層ブランチを作成し、不要になったら削除し、将来必要になったときに古い SVN バージョンをチェックアウトするだけで済みます。

  • 3 番目の点に基づいて、Git は純粋なソフトウェア プロジェクト、通常は Linux カーネル、busybox などの一部のオープン ソース プロジェクトに適しています。それに対して、SVN は複数のプロジェクト管理を得意としています。
  • たとえば、携帯電話プロジェクトの bsp/設計ドキュメント/ファイル システム/アプリケーション/自動コンパイル スクリプトを SVN ウェアハウスに保存したり、5 つの携帯電話プロジェクトのファイル システムを SVN に保存したりできます。 n (プロジェクト数)*m (コンポーネント数) のリポジトリを git に確立する必要があります。 SVN では、n または m までしか必要ありません。

  • Git はバージョン番号として 128 ビット ID を使用し、チェックアウト時にそれがどのブランチであるかを指定する必要がありますが、SVN はグローバルに一意のバージョン番号として増加するシリアル番号を使用します。どちらの方が簡潔でわかりやすいでしょうか。 gittag を使用してリテラルのエイリアスを作成することはできますが、結局のところ、それは特別なバージョンにのみ適用されます。
  • トレーサビリティ
  • git の一般的な開発プロセスは、ブランチの確立、開発、ローカル マスターへの送信、ブランチの削除です。この結果、以前の変更の詳細は失われます。

    詳細を失うことなく、SVN で同じことを実行します。

    #部分更新、部分復元。
  • SVN はフォルダーごとに .svn フォルダーを作成して管理するため、部分的な更新や復元も簡単に実現できます。特定の部分だけを更新したい場合は、svn を使用するとうまく実行できます。もちろん、git は過去のバージョンから復元することもできますが、部分的な復元は簡単にはできません。

    推奨学習: 「
  • Git チュートリアル

以上がgitとsvnとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Grayscale Encryption Trust Fundsとは何ですか? Grayscale Encryption Trust Fundsとは何ですか? Mar 05, 2025 pm 12:33 PM

グレイスケール投資:機関投資家が機関や投資家にデジタル通貨投資サービスを提供するための機関投資家が入国します。同社はいくつかの暗号信託を立ち上げました。これは広範な市場の注目を集めていますが、これらの資金のトークン価格に対する影響は大きく異なります。この記事では、Grayscaleの主要なCrypto Trust Fundsの一部を詳細に紹介します。 Grayscale Major Crypto Trust Fundsは、Grayscale Investment(2013年にDigitalCurrencyGroupによって設立された)で利用可能なさまざまなCrypto Asset Trust Fundsを管理し、機関投資家と順応の高い個人を提供する投資チャネルを提供します。その主な資金には、ZCASH(ZEC)、SOL、

ビットワイズ:企業はビットコインを無視された大きな傾向を購入します ビットワイズ:企業はビットコインを無視された大きな傾向を購入します Mar 05, 2025 pm 02:42 PM

毎週の観察:ビットコインを蓄えている企業 - 醸造の変化毎週のメモの見落とされがちな市場動向をよく指摘します。 MicroStrategyの動きは厳しい例です。多くの人は、「マイクロストラテジーとマイケルセイリャーはすでによく知られていますが、これは真実ですが、多くの投資家はそれを特別なケースと見なし、その背後にあるより深い市場の力を無視しています。このビューは片側です。ここ数ヶ月の予備資産としてのビットコインの採用に関する詳細な研究は、これが孤立したケースではなく、出現している主要な傾向であることを示しています。今後12〜18か月で、何百もの企業が訴訟を起こし、大量のビットコインを購入すると予測しています

SFTを大幅に超えて、O1/DeepSeek-R1の背後にある秘密は、マルチモーダルの大規模モデルでも使用できます SFTを大幅に超えて、O1/DeepSeek-R1の背後にある秘密は、マルチモーダルの大規模モデルでも使用できます Mar 12, 2025 pm 01:03 PM

上海ジョトン大学、上海アイラブ、および香港中国大学の研究者は、Visual Language Big Model(LVLM)のパフォーマンスを大幅に改善するために少量のデータのみを必要とする視覚RFT(視覚エンハンスメントファインチューニング)オープンソースプロジェクトを開始しました。 Visual-RFTは、DeepSeek-R1のルールベースの強化学習アプローチとOpenAIの強化微調整(RFT)パラダイムを巧みに組み合わせて、このアプローチをテキストフィールドから視野に拡張しました。視覚的サブカテゴリ化やオブジェクト検出などのタスクの対応するルール報酬を設計することにより、Visual-RFTは、テキスト、数学的推論、その他のフィールドに限定されているDeepSeek-R1メソッドの制限を克服し、LVLMトレーニングの新しい方法を提供します。 Vis

GOの浮動小数点番号操作に使用されるライブラリは何ですか? GOの浮動小数点番号操作に使用されるライブラリは何ですか? Apr 02, 2025 pm 02:06 PM

GO言語の浮動小数点数操作に使用されるライブラリは、精度を確保する方法を紹介します...

GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? GOのどのライブラリが大企業によって開発されていますか、それとも有名なオープンソースプロジェクトによって提供されていますか? Apr 02, 2025 pm 04:12 PM

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

海外バージョンの配送地域データを取得する方法は?利用可能な既製のリソースは何ですか? 海外バージョンの配送地域データを取得する方法は?利用可能な既製のリソースは何ですか? Apr 01, 2025 am 08:15 AM

質問の説明:海外バージョンの配送地域データを取得する方法は?既製のリソースはありますか?国境を越えた電子商取引またはグローバル化ビジネスで正確に入手してください...

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

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

Binance LaunchPoolとは何ですか? Binance LaunchPoolに参加する方法は? Binance LaunchPoolとは何ですか? Binance LaunchPoolに参加する方法は? Mar 05, 2025 pm 03:06 PM

Binance LaunchPool詳細分析:高利回りの採掘ガイドとバイオプロジェクトの詳細な説明は、Binance LaunchPoolの詳細な議論を行い、その利回りを分析し、参加方法を詳細に説明し、最新のプロジェクトBio Coin(BIOL)の導入に焦点を当てます。世界最大の暗号通貨交換として、BinanceはLaunchPoolで高品質のプロジェクトを選択し、投資家に新しい鉱業と新しいトークンを取得する機会を提供しました。 Binance LaunchPoolとは何ですか? Binance LaunchPoolは、指定された通貨を誓約することで、新しいトークンを無料で獲得するプラットフォームです。これは、株式市場の新しい株式サブスクリプションに似ていますが、参加者は少なくなり、競争が少なくなり、少額の投資も高い収益を得ることができます。

See all articles