- 在Mac上,也可以利用svn图形界面工具来管理源代码,可以大大减少使用命令行的痛苦(有些操作食使用命令行会比较繁琐,比如冲突)
工具类型:Cornerstone/Versons/Xcode
1.大部分工作在Xcode中都可以完成
1>Xcode 对于SVN 的支持并不是非常的友好,尤其是新建文件夹时,在Xcode中非常容易出问题
2>使用Xcode工作:先更新,再提交!
3>在Xcode中,最好不要同时修改一个Storyboard!
2.Cornerstone的具体用法及报错的意思
L abc.c # svn已经在.svn目录锁定了abc.c
M bar.c # bar.c的内容已经在本地修改过了
M baz.c # baz.c属性有修改,但没有内容修改
X 3rd_party # 这个目录是外部定义的一部分
? foo.o # svn并没有管理foo.o
! some_dir # svn管理这个,但它可能丢失或者不完整
~ qux # 作为file/dir/link进行了版本控制,但类型已经改变
I .screenrc # svn不管理这个,配置确定要忽略它
A+ moved_dir # 包含历史的添加,历史记录了它的来历
M+ moved_dir/README # 包含历史的添加,并有了本地修改
D stuff/fish.c # 这个文件预定要删除
A stuff/loot/bloo.h # 这个文件预定要添加
C stuff/loot/lump.c # 这个文件在更新时发生冲突
R xyz.c # 这个文件预定要被替换
S stuff/squawk # 这个文件已经跳转到了分支
SVN 提交时报错 某文件 is scheduled for addition, but is missing
将svn里报红的该文件revert就行
3.Cornerstone的目录规范(产品经理必备)
- 1.正规的项目的SVN目录结构一般有3个文件夹
trunk:主干,当前开发项目的主目录(Checkout主干的代码)
branches:分支目录,添加非主线功能时使用,开发测试之后,可以合并到主干项目中
tags:标记目录,通常作为重大稳定版本的备份(对各种版本的备份,以及更改版本里面的bug)
4.使用svn我们应该
- 1.经常更新:降低冲突的可能性
- 2.提交前在本机测试通过:降低将问题代码传到版本库
- 3.提交时一定写备注(注释):方便其他成员查看和自己以后回顾
- 4.对于不需要提交的文件不要提交到版本库
提示:
1.每次修改之前最好先更新
2.每天下班前提交当天运行通过的代码
3.每天上班的第一件事情更新前一天的代码