SVN
checkout : 将服务器代码完整的下载到本地;
Commit : 将本地修改的内容,提交到服务器;
Update :将服务器最新的代码下载到本地;
每日必须commit “可运行的版本” 必须
使用环境
1.服务器
1)Windows:上安装Visual SVN Server
2)cmd — ipconfig查看网络信息
2.客户端
1)Mac上使用命令行,Versions、Corerstone、Xcode
3.初始化项目
1)将服务器的已有内容下载到本地
$ svn checkout服务器地址—username=mgr —password=mgr
4.初始化项目
1)$ touch main.m 创建main.m
2)$ svn add main.m :将文件添加到SVN的管理之下
3)$ svn commit -m“初始化项目”main.m :将main.m上传到服务器
5 . 查看文件状态(查看文件是否在SVN的管理之下,或者是否进行可修改而没有提交)
1)$svn status
状态说明
‘ ’ 没有修改
‘A’ 被添加到本地代码仓库
‘c’ 冲突
‘D’ 被删除
‘I’ 被忽略
‘M’ 被修改
‘R’ 被替换
‘X’ 外部定义创建的版本目录
‘?’ 文件没有被添加到本地版本库内,不在SVN管理之下
‘!’ 文件丢失或者不完整(不识别该文件)
‘~’ 收控文件被其他文件阻隔
‘U’ 更新最新的代码到本地(本文件的情况下)
‘G’ 产生冲突后,更新操作去解决冲突,相当于进行了合并
6 . 新增开发人员进入项目
1>将服务器所有的内容下载到本地
$ svn checkout服务器地址—username=xxx —password=xxx
2>开始开发
$ touch person.h person.m :创建person类
$ svn commit -m“创建了person类”
3>经理更新代码
$ svn update:跟新服务器最新代码(如果该文件在本地不存在则下载,本地存在则更新)
7 . 命令行简写
$ svn checkout -> svn co
$ svn status -> svn st
$ svn commit -> svn ci
$ svn update -> svn up
8 .版本回退
$ svn update -r4(4 为版本号) 先回退到某个版本,观察下,该版本是否是不想要的那个版本
$ svn update 更新到最新版本
$ svn merge -r7:6
$ svn revert person.h :将本地新增的内容(没有提交到服务器),删除
注意:本地版本号低于服务器的版本号,那么不能提交
9 .删除文件
$ svn remove(rm)persion.m
10 . 查看版本信息
$ svn update :更新最新的内容
$ svn log : 查看版本信息
11 . 公司常用的命令
$ svn update更新
$ svn commit -m“注释” :将本地的代码提交到服务器
12 . 原有的项目中再次新增人员
1> 项目经理提供信息:
1)服务器地址,账号密码
2) 需求文档
3) 接口文档
4) 效果图
2>将已有的内容下载到本地
$ svn checkout服务器地址 ,账号 密码
13 .代码冲突
$ out of date :过期,本地版本号低于服务器的版本
$ df:在命令行中展示所有的不同
$ e :在命令行中来编辑冲突
$ mc :用我的本地的代码来覆盖服务器的代码
$ tc :用服务器的代码来覆盖我的代码解决冲突
$ p:延迟解决冲突,展示所有冲突的文件手动解决冲突—> svn resolved xxxxx(冲突的文件名称)
注意:
1>尽量在修改代码之前先update
2> 如果修改公共文件,最好和同事说一下,先别修改,修改完成之后,让他更新
说明
Branches 建立分支,修复BUG
trunk 主线
tags 备份
网友评论