一. 项目经理的操作
1. checkout远程仓库文件: svn checkout http://192.168.28.139/svn/QQ --username=tangseng --password=tangseng
简写: svn co
2. 初始化项目
>1. touch Person.h : 创建项目文件
>2. open Person.h : 打开项目进行编辑
>3. svn status : 查看文件的状态 简写: svn st 如果本地跟服务器一致, 查看不出来结果
>4. svn add Person.h : 将Person.h添加到本地代码仓库的管理
>5. svn commit -m "初始化项目" : 提交Person.h到服务器 简写: svn ci -m
>6. svn update : 同步最新的版本库 简写: svn up
>7. svn delete Person.m : 删除本地代码仓库中的Person.m文件(如果要服务器也删除, 需要提交一次)
>8. svn revert haha.m : 回滚操作, 把之前误删的文件找回来
>9. svn log : 查看提交的版本及日志
状态的解释:
>1 ? : 当前文件没有被本地代码仓库管理, 需要add
>2 A : 已经添加到了本地代码仓库, 本地仓库已经可以对它进行管理
>3 D : 本地代码仓库, 删除了此文件, 但是服务器还在
>4 M : 本地代码的文件跟服务器相比, 发生了改变
SVN使用注意事项:
1. 先更新, 在提交
2. 如果是手动删除的文件 : svn up 文件就回来了
3. 如果是通过svn命令删除的: svn up 没用 需要svn revert
4. 如果先提交在更新, 可能会出现此错误: out of date : 经典错误, 代表本地的仓库已经过期, 服务器已经有新的版本
5. 项目工程目录下,会有隐藏的svn目录, 这是就是本地代码仓库, 千万不要修改, 一旦修改, 基本就无法正常在管理.只能重新checkout一遍
二. 悟空参与开发
1. checkout项目到工作目录: svn co http://192.168.28.139/svn/QQ --username=wukong --password=wukong
2. open Person.h : 增加属性并提交
3. 如果唐僧想要同步代码: svn up
三. 八戒参与开发--> 新入职的小弟
1. checkout项目到工作目录: svn co http://192.168.28.139/svn/QQ --username=bajie --password=bajie
2. 八戒参与正常开发
四. 文件冲突
//Conflict 冲突
Conflict discovered in '/Users/teacher/Desktop/SVN演练/八戒/QQ/code/Person.h'.
//解决冲突的选项
(p) postpone: 延迟处理 --> 冲突让程序员自己解决 --> 会展现多个不同的版本, 此时就需要程序员自己去解决冲突
(mc) mine-conflict : 使用我的版本, 覆盖掉其它人得版本
(tc) theirs-conflict : 使用其他人的版本, 覆盖掉我的版本
(df) diff-full: 展示不同
(e) edit : 开始编辑 在命令行中编辑 一般不同
(s) show all options : 展示详细列表
<<<<<<< .mine
@property (nonatomic, copy) NSString *dami;
=======
@property (nonatomic, copy) NSString *xiaomi;
>>>>>>> .r18
发生冲突时, 我的版本在<<<<<.mine 直到 ======之间
解决冲突
第一步, 使用p获取不同版本
第二步: 修改冲突文件, 删除多余代码
第三步: 告诉系统已解决冲突: svn resolved Person.h
第四步: 提交已解决冲突的版本
//1. svn checkout http://192.168.28.139/svn/QQ --username=tangseng --password=tangseng
//2. 一定要进入code文件夹
//3. 提交以自己名字命名.h文件 svn add abc.h / svn ci -m "abc.h"
//4. svn update
常用命令:
1. svn update
2. svn commit -m ""
checkout 一次
add 首次集成项目时 / 添加静态库.a文件夹时
五. 使用图形化工具集成
1. 忽略文件: 如果不想提交下面那个文件, svn 删除 提交 / 忽略
xcuuserdata : 记录了文件结构以及用户最后一次打开的界面
2. | --> xcode添加静态库时, 常常会出现.a无法添加到服务器的问题
解决方案: svn add libGoogleAnalytics.a 此时文件就会变成A的状态
3. xcode如何集成: 找到偏好设置, 配置账号, checkout后就可以直接使用
4. xcode如何解决冲突: 更新的时候, 根据情况选择下方的小图标即可
第一个: 我的在上, 其它的人在下
第二个: 使用我的
第三个: 使用其它的人
第四个: 其它的在上, 我的在下
5. xcode一定要避免多人同时开发SB, 如果控件过多, 将是灾难性的问题
如果想要丢弃修改的SB, Xib , 选中文件右键, 选择Source Control 选择丢弃修改
开发中注意事项
1. 一定不要同时开发同一个SB/Xib界面
2. 及时更新及时提交
3. 先更新再提交
转载于:https://my.oschina.net/u/2418942/blog/508915