Maison > Problème commun > Comment utiliser SVN

Comment utiliser SVN

爱喝马黛茶的安东尼
Libérer: 2020-06-10 14:02:12
original
36128 Les gens l'ont consulté

Comment utiliser SVN

Scénario d'utilisation :

Si une certaine partie de votre projet (fait ici référence au projet client mobile) Le La version (par exemple, la version 1.0) a été développée, testée et lancée en ligne. Ensuite, de nouvelles exigences sont reçues. Le développement de nouvelles exigences nécessite de modifier le code dans plusieurs fichiers lorsque les exigences ont été développées pendant un certain temps. , ils reçoivent soudainement Selon les commentaires des utilisateurs ou des testeurs, il y a un bug majeur dans le projet qui doit être corrigé de toute urgence, et il est nécessaire de se connecter immédiatement après la correction du bug. Comment le bug doit-il être corrigé à ce moment-là. ? La réparation est-elle basée sur les nouveaux besoins développés ? La réponse est non, et la raison est la suivante : si les bugs sont corrigés sur la base de nouvelles exigences qui ont été développées, alors les nouvelles exigences n'ont pas encore été développées, et encore moins testées. Comment peut-il être mis en ligne immédiatement (ou en tant que tel). le plus rapidement possible) ? ! Troisièmement, que dois-je faire si le développement de nouvelles fonctionnalités et le code de correction de bugs impliquent des conflits avec le même morceau de code. Évidemment, les corrections de bugs ne peuvent pas être effectuées sur la base du code actuellement développé. La solution parfaite est : correction de bug dans la version qui a été terminée à ce moment-là. Les avantages de ceci sont :

1 : Une fois le bug résolu. corrigé Il peut être lancé immédiatement, et l'heure de lancement ne sera pas retardée car les nouvelles exigences n'ont pas été remplies ou testées

2 : Les corrections de bugs sont corrigées dans la version initialement lancée, et le risque de provoquer les nouveaux bugs sont petits. S'ils sont dans la nouvelle correction des bugs en fonction des besoins, alors les nouvelles fonctionnalités peuvent apporter de nouveaux bugs

Recommandations associées : "Tutoriel vidéo SVN"

Structure du répertoire de l'entrepôt SVN Référentiel :

(1) tronc

(2) balises

(3) branches

tronc (tronc | ligne principale) branches (branche) tags (marque)

camion (tronc | ligne principale | branche principale) : Il est utilisé pour le développement de la direction principale. les nouvelles fonctions doivent être placées dans la ligne principale en tant que module. Une fois le développement terminé, si des modifications sont nécessaires, utilisez la branche.

branche (branche) : le développement de branche et le développement principal peuvent être effectués en même temps, c'est-à-dire que le développement parallèle est généralement utilisé pour corriger les bogues

balise (marque). utilisé pour les balises Une version disponible peut être marquée comme une version publiée en ligne ou comme une version en cours de test. Elle est généralement en lecture seule.

Étapes de fonctionnement spécifiques à SVN : (Version TortoiseSVN : 1.8.8)

1 : Créer un entrepôt

1. Créer une structure de répertoire D : TortoiseSVNRepositoryRepo-iOS

2. Cliquez avec le bouton droit sur la structure de répertoire

---> > Créez un référentiel ici

---> Créer une structure de dossiers ---> Démarrer Repobrowser --->

Comment utiliser SVNDeux : Téléchargez le projet sur SVN

Comment utiliser SVNCliquez avec le bouton droit sur le bureau

---> ; TortoiseSVNComment utiliser SVN

--->repo-browser--> URL : fichier:///D:/TortoiseSVN/Repository/Repo-iOS ---> 🎜>
---> Faites un clic droit sur le dossier du coffre

---> Ajouter un dossier...


---> Sélectionnez le répertoire le plus externe du projet à télécharger sur SVN et entrez le journal


---> Ok



Recommandations associées : "

FAQ

"

3 : Extraire Comment utiliser SVN

1 Créez un répertoire pour stocker le code du projet n'importe où sur votre ordinateur Répertoire, par exemple : D. :TortoiseSVNRepositorySource

Comment utiliser SVN2. Consultez le code de cet emplacement

Quatre : Cycle de développement

1 Dans le répertoire D : TortoiseSVNRepositorySourcetrunkMyAppProject est. développé. Notez qu'il est sur la ligne principale

Parce que le projet vient d'être établi et que de nouvelles fonctions sont en cours de développement, il doit être développé sur la ligne principale

2. Développement Après un certain temps, après des tests, il a été lancé sur l'App Store et Android a été téléchargé sur d'autres centres d'applications. Un morceau de code extrait du fichier HomeViewController lors de son lancement est le suivant Comment utiliser SVN

<.>[objc] afficher la copie brute

Afficher les extraits de code dérivés de mes extraits de code sur CODE

- (void) viewDidLoad {  
   [super viewDidLoad];  
   // -----------------------------------------  
    int y = 0;  
    int result = 10 / y;     
    NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result);  
   // End  
}
Copier après la connexion

3. Créez un nouveau répertoire : 1.0 dans le répertoire D:TortoiseSVNRepositorySourcetags, soumettez le répertoire à SVN, puis cliquez avec le bouton droit sur le répertoire D:TortoiseSVNRepositorySourcetrunkMyAppProject---> .. -----> Vers Path:/tags/1.0/MyAppProject et sélectionnez Head revision dans le référentiel ---> Il n'y a rien dans le répertoire Source/tags/1.0 pour le moment. mettre à jour le répertoire pour le fonctionnement de la mise à jour. Après la mise à jour, vous verrez un code source complet du projet enregistré dans ce répertoire (le code source dans ce répertoire peut être considéré comme une copie de la version 1.0 dans le répertoire trunk. Vérifiez viewDidLoad et trunk/MyAppProject dans /tags/1.0/). HomeViewController Le code viewDidLoad dans /HomeViewController est exactement le même.

Comment utiliser SVN

Comment utiliser SVN

4. Développer de nouvelles exigences pour la prochaine étape, en cours de développement

5. signaler que l'application présente un bug majeur, qui doit être corrigé immédiatement et mis en ligne le plus rapidement possible. A ce moment, le programmeur doit créer une branche pour MyAppProject sous tags/1.0. Le processus de fonctionnement est le suivant : Sélectionnez Source/tags/1.0/MyAppProject Cliquez avec le bouton droit sur TortoiseSVN---->Branch/tag... -----> Vers le chemin:/branches/MyAppProject ---> Ok

Regardez D en ce moment : il n'y a toujours pas de contenu dans le répertoire TortoiseSVNRepositorySourcebranches, et il doit être mis à jour. Après la mise à jour, on constate qu'un code de projet complet apparaît également dans

<. 🎜> dans ce répertoire (ce code peut être considéré comme une copie de tags/1.0/MyAppProject). Remarque Le branchement et le balisage utilisent le menu Branch/tag... La différence est que le répertoire To Path est différent. Le diagramme montre le diagramme de branchement, mais la valeur du chemin est différente. À l'heure actuelle, viewDidLoad dans branches/MyAppProject/HomeViewController est exactement le même que le code viewDidLoad dans tags/1.0/MyAppProject/HomeViewController.

6. Changez d'espace de travail, utilisez l'outil intégré Xcode|Eclipse pour ouvrir le projet sous /branches/MyAppProject, puis déboguer et corriger le bug sur cette base. Notez que le projet doit être ouvert dans la branche.

7. Une fois le bug corrigé, soumettez d'abord le fichier modifié et lancez l'application client. Une fois le lancement terminé, marquez branches/MyAppProject/ dans le répertoire 1.0.1 (tags/1.0. 1) (Les étapes de l'opération sont les mêmes que l'étape 3). Une fois l'opération de balise terminée, vous pouvez voir que tags/1.0.1/HomeViewController.viewDidLoad et branches/MyAppProject/HomeViewController.viewDidLoad sont complètement cohérents. ajoutez une nouvelle balise à branches/MyAppProject. La prochaine fois, nous corrigerons à nouveau le bug sur cette base. Jusqu'à présent, la correction du bug est terminée ; le code après la correction du bug est le suivant :


<🎜. >[objc] afficher la copie simple

Afficher le morceau de code sur CODE Dérivé de mon morceau de code

- (void) viewDidLoad {  
   [super viewDidLoad];  
   // -----------------------------------------  
    int y = 10;  
    int result = 10 / y;  
    NSLog(@"iOS APP 第一阶段开发完成了! 结果是:%ld", result);  
   // End  
  
   NSLog(@"1.0 版本闪退bug 已修复, 程序出现除0异常");  
}
Copier après la connexion

8 Ensuite, fusionnez la branche et le tronc.

Cliquez avec le bouton droit sur branches/MyAppProject ------>TortoiseSVN

----> Fusionner...

--->

----> Suivant ---> URL à fusionner à partir de : file:///D:/TortoiseSVN/Repository/Repo-iOS/trunk/MyAppProject

----> Suivant

- ---> >
9. Les étapes pour fusionner des lignes réseau et des branches sont les suivantes :

Clic droit/turnk/MyAppProject ----> révisions -----> Suivant

-----> ; URL à fusionner à partir de : file:///D:/TortoiseSVN/Repository/Repo-iOS/branches/MyAppProject

Les étapes sont les mêmes que ci-dessus, mais le chemin de l'URL à partir de laquelle fusionner est différent. Une fois la fusion terminée, vérifiez la méthode /trunk/MyAppProject/HomeViewController/viewDidLoad comme suit :

Comment utiliser SVN

[objc] view plain copy

Comment utiliser SVN Afficher le morceau de code dérivé de mon morceau de code sur CODE

- (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中进行新需求开发...");  
}
Copier après la connexion

10. À ce stade, la fusion est complètement terminée. Si vous ne voulez pas le code source dans le répertoire branches, vous pouvez le supprimer. Ensuite, le programmeur qui a modifié le bug doit changer. l'espace de travail à la ligne principale et utilisez Xcode pour rouvrir le tronc/ Le projet MyAppProject continue de développer de nouvelles fonctionnalités qui ne sont pas encore terminées. Le répertoire SVN est le suivant :


Remarque :

1. Le développement de branche et le développement de tronc sont deux processus complètement indépendants, et les deux peuvent être développés au niveau du site. en même temps

2 Le développement des branches et des troncs étant en parallèle, ils peuvent soumettre les fichiers modifiés par le projet en cours autant de fois qu'ils le souhaitent

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
svn
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal