使用シナリオ:
プロジェクトの特定の部分 (ここではモバイル クライアント プロジェクトを指します) の場合バージョン (バージョン 1.0 など) が開発、テストされ、オンラインで公開されました。次に、新しい要件を受け取ります。新しい要件の開発には、複数のファイルのコードを変更する必要があります。要件が一定期間開発されたとき、突然のリクエストが受信されました。ユーザーまたはテスターからのフィードバックによると、プロジェクトには緊急に修正する必要がある重大なバグがあり、バグ修正後すぐにオンラインにする必要があります。バグを修正するにはどうすればよいですか?現時点では?修理は新たに生じたニーズに基づいていますか?答えはノーで、その理由は次のとおりです: 開発された新しい要件に基づいてバグが修正される場合、新しい要件はまだ開発されておらず、ましてやテストされていません。どうすればすぐにオンラインにできるでしょうか (またはそのままオンラインにできるのでしょうか)できるだけ早く)? ! 3 番目に、新機能の開発とバグ修正のためのコードに同じコード部分との競合が含まれる場合はどうすればよいでしょうか。当然ながら、現在開発されているコードに基づいてバグ修正を実行することはできません。完璧な解決策は、その時点で完成したバージョンでバグ修正を実行することです。この利点は次のとおりです。
1: バグが発生した後修正済み すぐに起動でき、新しい要件が完了またはテストされていないために起動時間が遅れることはありません。
2: バグ修正は最初に起動されたバージョンで修正されており、次のようなリスクがあります。新しいバグの原因となるものは小さいです。要件に基づいて新しいバグを修正する機能に含まれている場合は、新機能によって新しいバグが発生する可能性があります
関連する推奨事項: 「SVN ビデオ チュートリアル 」
SVN ウェアハウス ディレクトリ構造 リポジトリ:
(1) トランク
(2) タグ
(3) )branch
trunk(幹線|本線)branch(枝)タグ(マーク)
truck(幹線|本線|主分岐): メイン方向の開発に使用されます。新しい機能はモジュールとしてメインラインに配置し、開発完了後、修正が必要な場合はブランチを使用します。
branch (ブランチ): ブランチ開発とメインライン開発を同時に実行できる、つまり並行開発が可能です。ブランチは通常、バグ修正に使用されます。
tag (タグ):タグに使用されます。利用可能なバージョンは、オンラインでリリースされたバージョンまたはテスト中のバージョンとしてマークできます。通常は読み取り専用です。
SVN 固有の操作手順: (TortoiseSVN バージョン: 1.8.8)
1: ウェアハウスを作成します
1。ディレクトリ構造 D:\TortoiseSVN\Repository\Repo-iOS
2 を作成します。ディレクトリ構造
# を右クリックします。 ## ---> ここにリポジトリを作成
---> フォルダ構造の作成 (ファイル構造の作成) ---> Repobrowser の起動 (リポジトリの参照の開始) --- > OK
#2: プロジェクトを SVN にアップロードします
デスクトップを右クリックします
---> TortoiseSVN
--->リポブラウザ--> URL: file:///D:/TortoiseSVN/ リポジトリ/Repo-iOS ---> OK
---> トランク フォルダを右クリック
#---> フォルダを追加...
---> SVN にアップロードするプロジェクトの最も外側のディレクトリを選択し、ログを入力します
##---> Ok
#関連する推奨事項: "
"
1. コンピューター上の任意の場所に作成します。プロジェクト コードが保存されている場所 (例: D:\TortoiseSVN\Repository\Source
2)。コードをこの場所にチェックアウトします。4:開発サイクル
1. ディレクトリ D:\TortoiseSVN\Repository\Source\trunk\MyAppProject で開発します。トランクのメインライン上にあることに注意してください。
[objc] view plain copy
- (void) viewDidLoad { [super viewDidLoad]; // ----------------------------------------- int y = 0; int result = 10 / y; NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result); // End }
3. D:\TortoiseSVN\Repository\Source\tags ディレクトリに新しいディレクトリ 1.0 を作成し、そのディレクトリを SVN に送信して、ディレクトリ D:\TortoiseSVN\Repository\Source\trunk\ を右クリックします。 MyAppProject ---> TortoiseSVN---->ブランチ/タグ... -----> パス :/tags/1.0/MyAppProject に移動し、リポジトリ内のヘッド リビジョンを選択します ---> OkSource/ がありますtags/1.0 ディレクトリにコンテンツがありません。更新操作のためにディレクトリを更新する必要があります。更新後、完全なプロジェクトのソース コードがこのディレクトリに保存されていることがわかります (このディレクトリのソース コードは、トランク ディレクトリにあるバージョン 1.0 のコピーとみなすことができます) /tags/1.0/ の viewDidLoad と train/MyAppProject を確認してください。 HomeViewController: /HomeViewController の viewDidLoad コードはまったく同じです。
4. 開発中の次の段階に向けて新しい要件を開発します
5. ユーザーまたはテスターアプリケーションに重大なバグがあり、すぐに修正してできるだけ早くオンラインにする必要があることを報告します。この時点で、プログラマは、tags/1.0 の下に MyAppProject のブランチを作成する必要があります。操作手順は以下の通りです: Source/tags/1.0/MyAppProject を選択 TortoiseSVN を右クリック ---->ブランチ/タグ... -----> パス:/branches/MyAppProject ---> OK
7. バグが修正されたら、まず変更したファイルを送信し、クライアント アプリでオンラインにします。オンラインが完了したら、branch/MyAppProject/ を 1.0.1 ディレクトリにタグ付けします (tags/ 1.0.1) (操作手順は手順 3 と同じです。) タグ操作が完了すると、tags/1.0.1/HomeViewController.viewDidLoad とbranch/MyAppProject/HomeViewController.viewDidLoad が完全に一致していることがわかります。 Branch/MyAppProject に新しいタグを追加すると便利です。次回は、これを基に再度バグを修正します。これでバグ修正は完了しました。バグ修正後のコードは次のとおりです:
[objc] view plain copy
- (void) viewDidLoad { [super viewDidLoad]; // ----------------------------------------- int y = 10; int result = 10 / y; NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result); // End NSLog(@"1.0 版本闪退bug 已修复, 程序出现除0异常"); }8. 次に、ブランチとトランクをマージします。手順は次のとおりです:ブランチ/MyAppProject を右クリック ------>TortoiseSVN
----> マージ... ---> 範囲をマージしますリビジョン
---->次へ --->マージ元の URL : file:///D:/TortoiseSVN/Repository/Repo-iOS/trunk/MyAppProject
----> 次
- ---> マージ
右クリック/turnk/MyAppProject ----> マージ... -----> 範囲をマージします。リビジョン -----> 次へ
手順は上記と同じですが、マージ元の URL のパスが異なります。マージが完了したら、次のように /trunk/MyAppProject/HomeViewController/viewDidLoad メソッドを確認します。
CODE から派生したコード部分を my に表示します。コード ピース
- (void) viewDidLoad { [super viewDidLoad]; // ----------------------------------------- int y = <strong>10</strong>; // <strong>可以看到branches分支中的代码已经合并到主线上了</strong> int result = 10 / y; NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result); // End NSLog(@"<strong>1.0 版本闪退bug 已修复, 程序出现除0异常</strong>"); NSLog(@"其他同事在主线trunk中进行新需求开发..."); NSLog(@"其他同事在主线trunk中进行新需求开发..."); }
10。この時点で、マージは完全に完了しました。ブランチ ディレクトリにソース コードを置きたくない場合は、削除しても構いません。その後、バグを修正したプログラマは切り替える必要があります。ワークスペースをメインラインに移動し、Xcode を使用して、trunk/ を再度開きます。 MyAppProject プロジェクトは、まだ完成していない新機能の開発を続けています。 SVN ディレクトリは次のとおりです:
##手順:
1. ブランチ開発とトランク開発は 2 つの完全に独立したプロセスであり、両方を同時に開発できます。 time
以上がSVNの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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