SVN

SVN是集中式源代码管理工具,包括服务端和客户端。

服务端SVN搭建

服务端工具下载地址
[https://pan.baidu.com/s/1OkdfVLxpMeiSmJ5j8LLkHQ]
密码:4ddz

客户端常用操作命令(命令行)

1、将服务器已有的内容下载到本地
svn checkout 服务器地址 --username=mgr --password=mgr

2、初始化项目
touch main.m 创建main.m
svn add main.m :将main.m添加到svn的管理之下 // svn add *
svn commit -m “初始化项目” main.m 将main.m上传到服务器

3.查看文件状态(查看文件是否在svn的管理之下,或者是否进行了修改而没有提交)
svn st 显示的文件状态
状态说明:描述文件被添加、删除或其他修改


' ' 没有修改
'A' 被添加到本地代码仓库
'C' 冲突
'D' 被删除
'I' 被忽略
'M' 被修改
'R' 被替换
'X' 外部定义创建的版本目录
'?' 文件没有被添加到本地版本库内,不在SVN的管理之下
'!' 文件丢失或者不完整(不识别该文件)
'~' 受控文件被其他文件阻隔
'U' 更新最新的代码到本地(本地有文件的情况下)
'G' 产生冲突后,更新操作去解决冲突,相当于进行合并

4、更新服务器最新代码到本地
svn update

5、版本回退
svn revert person.h :删除本地之前更改的内容
svn update -r8 先回退到某个版本,观察下该版本是否你想要的那个版本
svn updae 更新到最新版本
svn merge r9:8 person.h 合并第8个版本到最新的版本

6、删除文件
svn remove person.m

7、查看版本信息
svn log :查看版本信息

8、代码冲突
out of date:过期,本地版本号低于服务器版本
df:在命令行中展示所有的不同
e :在命令行中来编辑冲突
mc :用我的本地的代码来覆盖服务器的代码
tc:用服务器的代码来覆盖我的代码
p :延迟解决冲突展示所有冲突的文件,手动解决冲突 -> svn resolved person.h

9、切换本地svn连接的服务器地址
svn info
svn switch —relocate http://192.168.0.104/svn/weChat http://192.168.1.108/svn/weChat

10、需要忽略的文件
1> xcode会默认记录之前停留的文件,下次打开依然停留在该文件,这个不需要共享
2> xcode会默认记录之前目录打开的情况,这个也不要共享
3> 断点信息不需要进行共享
xcuserdata这个文件就是保存以上三者信息的,所以需要忽略掉

11、xcode使用svn注意点
1> 如果使用到静态库,必须使用命令行将静态库添加到svn的管理之下
2> 如果使用到storyboard需要特别注意,如果能使用xib尽量使用xib
3> 忽略文件的设置

12、目录规范
正规项目的svn目录结构一般有3个文件夹

  • Trunk:主干,当前开发项目的主目录
  • Branch:分支目录,添加非直线功能时使用,开发测试之后,可以合并到主干项目中
  • Tags:标记目录,通常作为重大版本的备份

图形化界面工具

常用图形界面工具有Versions,Cornerstone
破解版下载地址
【Versions】链接:https://pan.baidu.com/s/1m-vr09bP_0Y0uKZdWJ2h4A 密码:klqi
【Cornerstone】链接:https://pan.baidu.com/s/1VZXSYhYH3zPiZbnYk5XItQ 密码:gfqh

你可能感兴趣的:(SVN)