美文网首页iOS CraziesIOS开发资料库iOS
iOS SVN源代码管理工具使用

iOS SVN源代码管理工具使用

作者: 木头Lee | 来源:发表于2016-08-07 17:07 被阅读4119次

    1、安装VisualSVN软件

    用于搭建服务器,添加仓库和配置用户信息权限等操作(项目经理需要做的,员工一般不用)


    2、终端指令

    常用命令行及简写:
    
    - 下载项目:svn checkout -> svn co      
    - 提交代码:svn commit -> svn ci         **常用**
    - 更新代码:svn update -> svn up         **常用**
    - 删除文件:svn remove -> svn rm
    - 查看版本信息:svn log
    - 查看文件状态:svn status -> svn st
    
    
    常见文件状态
    
    -  ? : 不在svn的管理之下
    - A : 该文件在已经添加到svn的管理之下,但是只是保存在本地,并没有提交到服务器
    - M : 该文件在本地已经被修改,但是没有传到服务器
    - D : 该文件在本地已经删除,但是服务器依然有该文件,删除操作没有更新到服务器
    - C:产生冲突
    -  I :该文件已经被忽略
    -  ! : 文件丢失或不完整(无法识别该文件)
    - G :产生冲突后,更新操作去解决冲突相当于合并
    
    • 项目经理操作
    • 从服务器下载配置内容:
      svn checkout 服务器项目地址 --username=用户名--password=密码

    • 初始化项目
      创建项目 : touch 项目名
      添加到svn的管理 : add 项目名
      将项目上传服务器 : svn commit -m “提交内容的注释 ”

    • 员工A加入开发

    • 将服务器内容下载到本地
      svn checkout 服务器地址 --username=用户名--password=密码

    • 开始开发
      创建文件 : touch 文件名
      提交到服务器 : svn commit -m “提交内容的注释”

    • 项目经理更新代码
      svn update (如果该文件已经在本地则更新,不在本地则下载)

    • 新员工B加入开发

    1、向项目经理要一些东西

    • SVN服务器地址、账号及密码
    • 需求文档 : 项目有什么需求,要实现什么功能
    • 接口文档 : 详细的记录服务器所有接口
    • 效果图: 界面最终要实现什么样的效果

    2、开始开发

    • 将服务器已有的内容下载到本地:
      svn checkout 服务器地址 --username=用户名--password=密码
    • 创建文件:
      touch 文件名
    • 将创建文件添加到SVN管理(*代表将文件夹内所有文件添加到SVN管理)
      svn add *
    • 提交到服务器
      svn commit -m “提交内容的注释(说明)

    • 版本回退

    1、 svn update -r版本号
    先回退到某个版本,确认下该版本是否是自己打算回退的版本
    2、 svn update :
    将本地文件更新到最新版本
    3、 svn merge -r最新版本号:要回退版本号 person.h
    将两个版本进行合并
    4、svn commit -m “回退到某版本
    重新提交服务器

    • 删除文件
    • svn remove 文件名

    • svn commit -m “删除了某个文件

    • 查看版本信息

    svn update  
      先从服务器更新一下最新内容 
    svn log
      再查看提交的各版本信息
    
    • 代码冲突
    • out of date : 过期,本地版本号低于服务器的版本
    • df : 在命令 中展 所有的不同
    • e : 在命令 中来编辑冲突
    • mc: 使用我的本地的代码来覆盖服务器的代码
    • tc : 使用服务器的代码来覆盖我的代码
    • p : 延迟解决冲突,展示所有冲突的文件, 手动解决冲突: svn resolved person.h

    注意: 1 > 尽量在修改文件之前,先update 2 >如果修改公共文件,最好先跟同事打招呼,让他先别修改,修改完之后,让他更新

    3、图形化界面: CornerStone

    • 项目经理操作:

    • 界面概览


      Snip20160806_3.png
    • 添加远程服务器仓库


      Snip20160806_5.png
    • 将服务器仓库代码checkout到本地


      Snip20160806_7.png
    • 选择保存到本地的路径


      Snip20160806_8.png
    • 通过xcode创建项目保存到刚才checkout的本地路径


      Snip20160806_9.png
    • 将文件添加到SVN管理(手动点击?号)


      Snip20160806_10.png
    • Commit初始化

      Snip20160807_11.png
      ![Uploading Snip20160807_11_748844.png . . .]](https://img.haomeiwen.com/i2068665/7c5ca669c9495d9e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    • 配置忽略文件


      Snip20160807_19.png

    需要忽略的文件

    • xcode会默认记录之前停留文件,下次打开依然停留在该文件,这个不需要共享

    • xcode会默认记录之前目录的打开情况,同事不需要,没必要共享

    • 在代码中打的断点信息,不需要进行共享

    • 在xcode可以进行上面3点操作,让它生成新的xcuserdata数据,然后再忽略一下即可


      Snip20160807_26.png
    • 忽略掉文件之后先update一下然后再commit即可


      Snip20160807_28.png
    • 员工A加入开发

    • 先添加服务器仓库


      Snip20160807_30.png
    • 将仓库代码checkout到本地


      Snip20160807_31.png
    • 然后就可以打开项目开始开发了,后面的Commit和update操作直接在Xcode里面即可(Xcode工具栏—> Source Controller—>CheckOut/update)

    • 冲突解决

    • 当在xcode内Commit代码的时候,提示如下信息:


      Snip20160807_32.png
    • 先update一下本地代码,解决冲突


      Snip20160807_33.png
    • 再Commit到服务器

    4、使用Xcode CheckOut代码

    • 在偏好设置添加远程代码仓库


      Snip20160807_34.png
      Snip20160807_38.png
    • 然后再使用xcode工具条的Resource Control进行checkout代码操作


      Snip20160807_39.png
    • 后面就是正常的Commit和update操作了...

    5、Xcode中使用svn的注意点:

    • 1、如果使用到静态库必须使用命令行将静态库添加到svn的管理之下

    • 2、如果在项目中能使用xib,尽量使用xib;如果必须使用storyboard,尽量保证只有一个人在操作storyboard

    相关文章

      网友评论

      • 瓦力wali:使用svn的时候,我从服务器update了一张图片,之后不小心把这个图片删除了,我再次从SVN更新时,不能更新到这张图片,应该怎么办
      • 1f479e7aec46:合并是怎么用的??
      • Mr孙:确实挺详细的!
        木头Lee:@Mr孙 谢谢,希望对你有帮助 :stuck_out_tongue_winking_eye:
      • Yumazhiyao:再也不用担心不会了 :grin: :grin: :grin:
        木头Lee:@yumazhiyao :joy: :joy: :joy:

      本文标题:iOS SVN源代码管理工具使用

      本文链接:https://www.haomeiwen.com/subject/ktkhsttx.html