1.将服务器已经有的内容下载到本地
- svn checkout http://192.168.144.129/svn/weixin/ –username=mgr –password=mgr
2.初始化项目
- 进入到工作目录
- 初始化项目
- 将初始化项目提交服务器
3.查看文件的状态 svn status
- ?:svn不识别该文件,或者该文件被删除过,或者该文件是新添加的文件,还没有被本地代码仓库管理
- A:文件已经被添加到本地仓库中,但是还没有添加到服务器中(服务器的仓库还未管理该文件)
- M:文件已经被管理,并且服务器也有该文件,新修改的文件,修改的内容没有被提到服务器
- D:该文件已经在本地进行了删除,但是还没有将删除操作共享给服务器
4.将新的文件添加到代码仓库中
- svn add 文件名称
5.将文件添加到服务器
- svn commit -m “注释”
6.个人的基本操作
- 修改main.h
- 创建新的文件,将新的文件提交服务器
- 删除一些文件
- 回退版本(暂时)
二.多人开发
- 1.张三将服务器的代码下载到服务器
- 2.张三添加新的文件,将添加的内容跟新到服务器
- 3.张三修改文件,提交到服务器
4.李四加入开发(新人)
- 和项⺫⽬目经理要svn服务器的地址和svn账号和密码
- 接⼝口⽂文档
- 需求⽂文档(产品⼈人员)
- 效果图
5.张三和李四的多人开发
- svn update 更新
命令总结
- svn checkout 将服务器完整的代码下载到本地(做一次)
- svn add 文件 将文件交给svn本地仓库管理(xcode自动add到svn中)
常用命令
- svn help :查看一下svn的所有终端命令
- svn help 命令名 :查看该命令的使用方法
- svn log :查看所有更新的版本
- svn commit -m “注释”
- svn update
out of date :文件过期
什么情况下不能提交代码:当本地的版本号⼩小于服务器的版本号时代码是不能提交
Conflict : 冲突:由于要更新的行已经有别的代码
常用的三个
(p) postpone :对比这几个文件,手动解决
- .r10:版本号10的时候
- .r11:版本号11的时候
.mine:我自己的文件
<<<<<<< .mine 表⽰示该位置是我的代码 ======= 服务器的代码 >>>>>>> .r11
- 再通过终端删除刚刚下载的不必要文件 :resolved 解决的文件名
- 再更新 :svn commit -m
- (mc) mine-conflict : 当发生代码冲突的时候,使⽤我的代码。覆盖服务器代码
- (tc) theirs-conflict :当发生代码冲突的时候,使⽤服务器的代码。覆盖本地代码
不常用
- (df) diff-full :展示文件之间的不同处
- (e) edit :编辑文件(一般不在命令行编辑)
- (s) show all options :把所有选择项再显示一遍(这六个选项)
版本回退
- svn log :查看所有更新的版本
- svn update -r 版本号 :本地版本回退
- 服务器回退:先回退本地的版本,再修改文件…