集中式版本控制工具王者——SVN

SVN status 显示的文件状态

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

常规操作

1) 下载服务器的代码到本地

svn checkout

2) 向本地的版本控制库中添加文件

svn add

3) 将改动的代码提交到服务器

svn commit -m "注释"

4) 更新服务器的代码到本地

svn update

5) 查看文件状态

svn status

6) 撤销之前的一切修改(还原到当前版本)

svn revert

添加/删除

1) 添加

svn add
svn commit

2) 删除

svn delete/ svn remove
svn commit
//一定不要手动删除文件

版本回退

svn revert
//作用:返回到上次提交后版本对应的最原始的状态
svn update
//作用: 将本地代码更新到与服务器相同的版本
svn merge 文件名 -r 版本1(最新版本号):版本2(需要回退到的版本号)
//作用:让某文件从版本1 回到 版本2
svn commit -m “本地和服务器都回退到某一指定版本”
//作用: 让服务器代码也退回到之前某个版本状态

使用xcode的SVN注意点


尽量避免冲突的技巧


项目经理初始化项目

1) 需要忽略的文件

1.xcode默认有个功能,会记录上次正在编辑的界面(比如在appdelegate界面,这个时候xcode关闭再打开,还会停留在该界面)
2.xcode会记录左侧目录的打开情况,下次再打开时还是这样的打开情况
3.xcode会记录断点信息,下次打开时还有着之前的断点
4.以上都会产生相应的文件在xcuserdata文件夹下

2) 忽略文件的步骤

1.先右键删除,然后上传删除操作到服务器,目的是不让svn再去管理该文件
2.xcode中做些操作重新来生成xcuserdata,这个时候状态为?
3.右键ignore忽略来忽略该文件夹,设置信息发生变化,需要先进行update操作
4.将忽略操作提交到服务器
Table of Contents