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。互联网...

[iOS]svn管理工具Versons基本使用

本文是对svn管理工具versons的最简单的使用,其实工具的使用不难,只是有时时间久了,难免会忘记一些操作,所以就在这里记录一下,以备自己查漏补缺. 这里分享一个versons的下载地址:...

Mac系统安装Openfire服务器配置

XMPP通信协议架构 1.XMPP服务器的安装 XMPP服务器有很多种类,我们可以到XMPP的官网下载 XMPP Servers,这里,我们选择Openfire服务器。 下载之后,直接安装即可...

ios即时通讯客户端开发之-mac上搭建openfire服务器

ios即时通讯客户端开发之-mac上搭建openfire服务器 一、下载并安装openfire 1.到http://www.igniterealtime.org/downloads...

SVN版本管理工具简介

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

【转】对比SVN学习GIT版本管理工具

转自:http://www.uml.org.cn/pzgl/200912118.asp 对比SVN学习GIT版本管理工具 2009-12-11 作者:刘旭晖 来源:刘旭晖的blog ...

版本管理工具介绍——SVN篇(一)

版本管理工具介绍——SVN篇(一)SVN是何物SVN是Subversion的简称,是一款集中式的开源版本控制系统,因为有着明确的权限管理机制,所以为目前国内绝大多数的公司所使用。 何谓集中式:集中式...

SVN版本管理工具使用手册

百度搜索:小强测试品牌 交流群:522720170 svn是啥 目前TortoiseSVN是最为常用的版本控制软件之一。大家理解为svn就类似一个文件库,这里面可以存放各种文件,只不过他...

对比SVN学习GIT版本管理工具

对比SVN学习GIT版本管理工具 作者:刘旭晖 Raymond转载请注明出处 Email:colorant@163.com BLOG:http://blog.csdn.net/colorant/...

版本管理工具——svn

svn软件下载 VisualSVN Server:http://www.visualsvn.com/server/download/ SVN客户端:http://tortoisesvn.net/d...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS版本管理工具SVN
举报原因:
原因补充:

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