Nutzungsszenario:
Wenn ein bestimmter Teil Ihres Projekts (hier bezieht sich auf das mobile Client-Projekt) der Version (z. B. Version 1.0) wurde entwickelt, getestet und online veröffentlicht. Die Entwicklung neuer Anforderungen erfordert eine Änderung des Codes in mehreren Dateien Laut Rückmeldung von Benutzern oder Testern liegt ein schwerwiegender Fehler im Projekt vor, der dringend behoben werden muss, und es ist erforderlich, sofort nach der Fehlerbehebung online zu gehen zu diesem Zeitpunkt? Basiert die Reparatur auf den neu entwickelten Bedürfnissen? Die Antwort ist nein, und der Grund ist: Wenn die Fehler auf der Grundlage neuer Anforderungen behoben werden, die entwickelt wurden, dann wurden die neuen Anforderungen noch nicht entwickelt, geschweige denn getestet. Wie kann es sofort (oder so) online gestellt werden? schnellstmöglich)? ! Drittens: Was soll ich tun, wenn es bei der Entwicklung neuer Funktionen und dem Code zur Fehlerbehebung zu Konflikten mit demselben Codeteil kommt? Offensichtlich können Fehlerkorrekturen nicht auf der Grundlage des aktuell entwickelten Codes durchgeführt werden. Die perfekte Lösung ist: Fehlerkorrektur in der zu diesem Zeitpunkt abgeschlossenen Version. Die Vorteile davon sind:
1: Nach dem Fehler behoben Es kann sofort gestartet werden und die Startzeit wird nicht verzögert, weil die neuen Anforderungen noch nicht abgeschlossen oder getestet wurden
2: Fehlerbehebungen wurden in der ursprünglich gestarteten Version behoben und das Risiko einer Verursachung verringert Neue Fehler sind gering. Wenn es sich um neue Fehler handelt, können neue Funktionen neue Fehler mit sich bringen.
Verwandte Empfehlungen: „SVN-Video-Tutorial“
SVN-Warehouse-Verzeichnisstruktur Repository:
(1) Stamm
(2) Tags
(3) Zweige
Stamm (Stamm | Hauptlinie) Zweige (Zweig) Tags (Markierung)
LKW (Stamm | Hauptlinie | Hauptzweig): Wird für die Entwicklung der Hauptrichtung verwendet Neue Funktionen sollten als Modul in der Hauptzeile platziert werden. Wenn nach Abschluss der Entwicklung Änderungen erforderlich sind, verwenden Sie die Verzweigung.
Zweig (Zweig): Zweigentwicklung und Hauptentwicklung können gleichzeitig durchgeführt werden, dh parallele Entwicklungen werden normalerweise zum Beheben von Fehlern verwendet.
Tag (Markierung): Wird für Tags verwendet. Eine verfügbare Version kann als online veröffentlichte Version oder als Testversion markiert werden. Sie ist normalerweise schreibgeschützt.
SVN-spezifische Betriebsschritte: (TortoiseSVN-Version: 1.8.8)
1: Erstellen Sie ein Lager
1. Verzeichnisstruktur D erstellen: TortoiseSVNRepositoryRepo-iOS
2. Klicken Sie mit der rechten Maustaste auf die Verzeichnisstruktur
---> > Repository hier erstellen
---> Repobrowser starten --->
Zwei: Laden Sie das Projekt auf SVN hoch
Rechtsklick auf den Desktop
---> ; TortoiseSVN
--->repo-browser--> URL: file:///D:/TortoiseSVN/Repository/Repo-iOS ---> 🎜>
---> Rechtsklick auf den Stammordner
---> Ok
Verwandte Empfehlungen: „
FAQ“
3: Auschecken
1. Erstellen Sie an einer beliebigen Stelle in Ihrem Computerverzeichnis einen Projektcode, zum Beispiel: D:TortoiseSVNRepositorySource2. Schauen Sie sich den Code an diesem Ort an
Viertel: Entwicklungszyklus1. In Verzeichnis D: TortoiseSVNRepositorySourcetrunkMyAppProject wird entwickelt Es befindet sich auf der Hauptleitung Da das Projekt gerade erst eingerichtet wurde und neue Funktionen entwickelt werden, muss es auf der Hauptleitung entwickelt werden2. Entwicklung Nach einer gewissen Zeit Nach dem Testen wurde es im App Store gestartet und Android wurde in andere Anwendungszentren hochgeladen. Ein beim Start aus der HomeViewController-Datei extrahierter Code lautet wie folgt:
[objc ] Einfache Kopie anzeigen
Codeausschnitte anzeigen, die von meinen Codeausschnitten auf CODE abgeleitet wurden
- (void) viewDidLoad { [super viewDidLoad]; // ----------------------------------------- int y = 0; int result = 10 / y; NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result); // End }
3. Erstellen Sie ein neues Verzeichnis: 1.0 im Verzeichnis D:TortoiseSVNRepositorySourcetags, übermitteln Sie das Verzeichnis an SVN und klicken Sie dann mit der rechten Maustaste auf das Verzeichnis D:TortoiseSVNRepositorySourcetrunkMyAppProject--->Branch/tag .. -----> Zu Pfad:/tags/1.0/MyAppProject und wählen Sie Head Revision im Verzeichnis ---> aus Aktualisieren Sie das Verzeichnis für den Update-Vorgang. Nach dem Update sehen Sie einen vollständigen Quellcode des Projekts, der in diesem Verzeichnis gespeichert ist (der Quellcode in diesem Verzeichnis kann als Kopie der Version 1.0 im Trunk-Verzeichnis betrachtet werden). Überprüfen Sie viewDidLoad und Trunk/MyAppProject in /tags/1.0/. HomeViewController Der viewDidLoad-Code in /HomeViewController ist genau derselbe.
4. Entwicklung neuer Anforderungen für die nächste Stufe, in der Entwicklung
5 Melden Sie, dass die Anwendung einen schwerwiegenden Fehler aufweist, der sofort behoben und so schnell wie möglich online gestellt werden muss. Zu diesem Zeitpunkt muss der Programmierer einen Zweig für MyAppProject unter Tags/1.0 erstellen Der Vorgang ist wie folgt: Wählen Sie Quelle/tags/1.0/MyAppProject aus. Klicken Sie mit der rechten Maustaste auf TortoiseSVN---->Branch/tag... -----> Zu Pfad:/branches/MyAppProject ---> Ok
< angezeigt wird 🎜> in diesem Verzeichnis (dieser Code kann als Kopie von tags/1.0/MyAppProject betrachtet werden). Der Unterschied besteht darin, dass das Verzeichnis „To Path“ unterschiedlich ist Das Diagramm zeigt das Verzweigungsdiagramm, aber der Wert von to path ist derzeit unterschiedlich. viewDidLoad in branchen/MyAppProject/HomeViewController Es ist genau der gleiche wie der viewDidLoad-Code in tags/1.0/MyAppProject/HomeViewController.
6. Wechseln Sie den Arbeitsbereich, öffnen Sie das Projekt mit dem integrierten Xcode|Eclipse-Tool unter /branches/MyAppProject und debuggen und beheben Sie dann den Fehler. Beachten Sie, dass das Projekt in der Verzweigung geöffnet werden muss
7. Nachdem der Fehler behoben wurde, senden Sie zuerst die geänderte Datei und starten Sie die Client-App. Nachdem der Start abgeschlossen ist, markieren Sie Branches/MyAppProject/ im Verzeichnis 1.0.1 (tags/1.0. 1) (Die Operationsschritte sind die gleichen wie in Schritt 3.) Sie können sehen, dass tags/1.0.1/HomeViewController.viewDidLoad und branchen/MyAppProject/HomeViewController.viewDidLoad vollständig konsistent sind Fügen Sie einen neuen Tag zu Branches/MyAppProject hinzu. Wir werden den Fehler auf dieser Grundlage erneut beheben. Bisher wurde der Code wie folgt behoben:
Zeigen Sie den Codeteil auf CODE Abgeleitet von meinem Codeteil
- (void) viewDidLoad { [super viewDidLoad]; // ----------------------------------------- int y = 10; int result = 10 / y; NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result); // End NSLog(@"1.0 版本闪退bug 已修复, 程序出现除0异常"); }
Als nächstes führen Sie den Zweig und den Stamm zusammen. Die Schritte sind wie folgt:
Rechtsklick auf Branches/MyAppProject ------>TortoiseSVN
----> Zusammenführen...
--->
----> Weiter ---> URL zum Zusammenführen von: file:///D:/TortoiseSVN/Repository/Repo-iOS/trunk/MyAppProjectRechtsklick/turnk/MyAppProject ----> Revisionen -----> Weiter
-----> ; URL zum Zusammenführen von: file:///D:/TortoiseSVN/Repository/Repo-iOS/branches/MyAppProject
Die Schritte sind die gleichen wie oben, aber der Pfad der URL, von der aus zusammengeführt werden soll, ist anders. Nachdem die Zusammenführung abgeschlossen ist, überprüfen Sie die Methode /trunk/MyAppProject/HomeViewController/viewDidLoad wie folgt:
Sehen Sie sich den von meinem Codeteil abgeleiteten Codeteil an auf CODE
10. Zu diesem Zeitpunkt ist die Zusammenführung vollständig abgeschlossen. Wenn Sie den Quellcode nicht im Zweigverzeichnis haben möchten, müssen Sie ihn ändern Verschieben Sie den Arbeitsbereich in die Hauptzeile und verwenden Sie Xcode, um den Stamm erneut zu öffnen. Das MyAppProject-Projekt entwickelt weiterhin neue Funktionen, die noch nicht abgeschlossen sind. Das SVN-Verzeichnis lautet wie folgt:
Hinweis:1 Zweigentwicklung und Stammentwicklung sind zwei völlig unabhängige Prozesse, und beide können gleichzeitig entwickelt werden gleichzeitig
2. Da die Branch- und Trunk-Entwicklung parallel erfolgt, können beide vom aktuellen Projekt geänderte Dateien beliebig oft einreichen
Das obige ist der detaillierte Inhalt vonSo verwenden Sie SVN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!