iOS版本管理工具SVN

原创 2016年08月30日 15:08:14

1.版本管理工具包括

        CVS(已过时)

        SVN(常用)

        GIT(高大上) (GitHub, OSChina)

2.实际使用步骤:

    1. 安装SVN服务器

    2. 创建仓库

    3. 创建用户

    4. 为仓库添加用户

    5. 经理初始化项目并进行忽略xcuserdata操作

    6. 其他同事Checkout检出进行开发

    7. 李四新人加入,新人需要 源代码,需求文档,接口文档,效果图, 源代码一般先分配只读权限,熟悉代码之后再分配Write权限


3.SVN服务器安装:

  Windows:安装Visual SVN Server(项目经理或系统维护人员操作)

 1. 安装SVN 服务器

                      





2.创建仓库


                                    

3. 创建用户

                       

 

 4. 初始化项目


客户端:

Mac :  Cornerstone(常用)、Versions、Xcode、Command Line

     

Command Line(命令行):

         svn checkout 服务器地址 --username=xxx --password=xxx

         svn add  文件名

         svn commit  -m "注释"

         svn update

         svn resolve 文件名

         svn update -r版本号        // 还原到指定版本内容

         svn merge -r最新版本:回退版本 文件名

         svn revert  文件名

         svn remove 文件名

         svn log                        // 查看版本信息

        svn status

Cornerstone

一般情况下用Cornerstone进行项目初始化、忽略操作、打版本、分支、合并到主干操作,平常经常使用的更新、提交、冲突 使用Xcode中的Source Control 即可!
Cornerstone可以忽略xcuserdata文件,而Xcode不能忽略该文件
使用该工具应特别注意:一定要使用Command + R 经常刷新,因为Cornerstone不会主动刷新,会造成本地和Cornerstone上的文件内容不一致,不是最新的,在做版本备份和打分支的时候版本号也不是最新的,如果版本号不是最新的,会出现麻烦,因为版本都打错了

操作步骤:

1. 连接远程仓库
2. 检出trunk
3. 初始化项目并删除xcuserdata
4. 重新生成xcuserdata并进行忽略操作并提交
5. 其他同事开始开发



Working copies:工作区     
Repositories:仓库

1. 连接服务器仓库


2. 将远程仓库中的trunk代码检出到本地



3. 在检出的目录下面创建工程,并提交





4. 删除两个xcuserdata文件夹


删除之后,要再update一下,然后再提交。

5.生成xcuserdata,并进行忽略操作

删除ViewController中内存警告方法,将目录结构折叠起来,并在viewDidLoad方法中加一个断点,这样查看Cornerstone poeject.xcworkspace目录下还会生成两个xcuserdata,并对其忽略操作! 然后先Update 再 Commit提交,然后修改一下ViewController中的viewDidLoad方法,使用Source Control -->Commit 当再一次修改源代码提交的时候就不会再有User Data 之类的文件了



6. 再次提交时,发现已没有User Data文件夹了,可直接提交




xcuserdata包含的内容

记录用户上次打开的文件,用于xcode下次打开时,直接打开该文件
记录目录打开的情况,以便xcode下次打开的时候还原上次的状态
记录用户打的断点信息

Project Settings: 该配置文件需要共享,该文件包含文件目录位置

至此,初始化已完成,其他同事即可检出进行开发了,在之后的更新、提交、冲突操作可以直接使用Xcode中的Source Control进行管理即可

在Xcode中使用SVN注意点:

1. Xcode中的SVN不识别 【静态库 .a 文件(静态库包含实现代码,但不能被看到,保护核心源代码)必须使用命令行方式进行添加
svn add Xxx.a    然后Source Control ----> Commit 提交
2. Storyboard会被翻译成XML,一但Storyboard冲突,要想解决只能去修改晦涩的XML了,不忍直视!所以千万别让storyboard冲突,尽量只有一个人在操作Storyboard,但一般情况下app项目是按模块开发的,所以一般一个模块只有一个人在维护,这也减少了冲突的机会

SVN状态:

A:被添加到本地代码仓库
M:被修改
C:冲突
D :被删除
I: 被忽略


trunk: 主线开发
branches:为了修复tags中的bug,一般以fixbug作为后缀
tags:版本备份

1. 项目经过3个月的努力通过测试,完成了1.0版本,并已经上到App Store了;
2. 将trunk下的这份代码打成1.0版本放到tags下进行版本备份Xxx1.0
3. 开发人员接着开发第二个版本2.0
4. 在开发第二个版本的时候,用户反馈第一个版本有一个重大bug需要紧急修复,开发人员需要将1.0版本的代码做成一个分支并起名Xxx-fixbug
5. 接着开发人员checkout这个分支,并修复bug,并上传到app store, 并将该份代码进行1.1的版本备份 ,Xxx1.1
6. 接着需要将分支合并到主干中并提交,并删除分支中的项目
7. 开发人员接着开发2.0版本

多更新,多提交,不要每天只提交一次,做好一个小模块或小功能就可以考虑提交,尽可能的避免冲突


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

iOS开发中SVN管理工具的使用

原文地址:iOS开发中SVN管理工具的使用 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网...

版本管理工具——svn

svn软件下载 VisualSVN Server:http://www.visualsvn.com/server/download/ SVN客户端:http://tortoisesvn.net/d...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

SVN版本管理工具简介

关键词:SVN      SVN(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。     集中式代码管理的...
  • aerchi
  • aerchi
  • 2012-08-29 08:57
  • 2388

SVN版本管理工具介绍

一:版本控制工具的作用 版本控制工具可以对你的代码进行保护、约束,防止冲突 二:SVN下载与安装 tortoiseSVN 客户端 http://tortoisesvn.net/downloa...

SVN版本管理工具的使用

SVN介绍 SVN服务器与客户端的安装以及使用 Eclipse的svn插件的安装以及使用

Ios SVN版本管理

到目前为止,自己也用了很多Svn来管理版本,Xocde自带的,第三方的,还有就是Mac的终端来管理Svn。最终还是觉得用Mac自带的终端管理版本最方便,不会出现丢失文件等等诡异的情况。 下面整理...

※版本管理※=>☆SVN工具☆=>※№ SVN工具属性 SVN显示Html页面

一、简单的设置方法,单一定义文件         右键你想修改属性的html文件,然后选【TortoiseSVN】→【Properties (中文一般为【属性】)】然后就会看到Properties 界...

svn导出某个修改点之前的代码

平常工作中辛辛苦苦开发完某个功能提交到svn上后,领导突然说打包的时候不要这个功能(或者这个功能不要了),这个时候怎么办?如果你的修改是在branch上进行的此时还没有合并到truck上,那么可以省很...

git 版本管理工具

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) ...

Git 版本管理工具

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器)1、 Git 背景...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)