1.svn:版本控制?
>防止代码丢失
>代码回退
>整合代码 多个人开发一个项目,每个做一个模块
>解决Bug冲突 版本可以查是谁改了哪个文件
>权限控制 新员工去到公司,一般都不会让你直接修改项目的代码,只能查看代码
•••••
2.svn在工作怎么使用
>svn分两个角色 svn服务端/svn客户端
>svn服务器 "创建一个仓库 仓库用来存放代码和接口文档
•一般svn服务器的工作由项目经理、项目组长去做
>svn服务器的配置
•在电脑(windows/linux/mac)安装svn服务端应用程序
•一个项目一般对应一个仓库
•代码放置在trunk目录
•添加用户
•组:把用户添加到组
>客户端
>项目经理初始化代码提交到svn的服务器
•把存放代码的路径下载到本地,映射到本地路径(svn checkout 下载)
svn服务端的命令
usage: checkout URL[@REV]... [PATH]
URL[@REV]:代表svn服务器的路径
[PATH] 本地路径 :如果不写,代表当前路径
.svn的目录:是用来记录版本信息,不能删除
•创建项目代码
•把初始化的项目提交到svn服务器 "svn commit"
•svn st //查看文件状态
svn add . 把当前的目录的文件 '纳入版本控制'
•svn commit -m "项目经理初始化项目" -m 后面的参数代理标记
每提交一次版本到svn的服务器 svn项目的版本号会+1
>员工zhangsan '新起一个终端
•把项目的代码添加到本地
svn checkout http://192.168.66.28/svn/Project/code/trunk/Project/ --username=zhangsan --password=123456
•修改代码后提交服务器
svn commit(ci) -m "实现了Person类"
svn log 查看版本日志
svn update 更新本地版本号
>开发新功能之前,代码要更新到服务器最新的版本
原因:防止代码出现Bug,崩溃
"E160024: resource out of date; try updating" -- 当前本地版本小于服务器的版本号
"提交版本之前有个前提条件 本地版本号等于服务器版本
把所有人开的项目功能模块更新
> 解决文件冲突 (多个人对同一个文件进行操作)
*解决冲突 合并代码(zhangsan和lisi代码) 还是使用哪一份代码
*告诉svn冲突已经解决
>版本回退
lisi 为例
回退命令:svn revert 文件名 (仅适合还没有提交到服务器)
svn update -r 版本号 (版本已经提交)
>文件删除
删除项目文件的时候,不能直接在文件夹删除,通过命令方式删除文件
!号代表你操作不正确
>svn目录结构
trunk (主杆) 当前开发程序版本
tag 重大版本备份
branches(分支) 备份应用程序版本 1.0 2.0
// 提交当前最新的代码到服务器
// 下班 必须提交一次
// 当一个模块完成的时候,就提交一次,这个模块如果一天内完成不了,下班前必须提交
svn commit -m "标识"
//更新本地服务器的版本到最新
// 为什么更新 提前整合其它人的代码 整合一个可以运行的项目
// 上班之前更新 防止过多版本冲突
svn update
svn revert 版本回退
svn log 看history版本信息
svn status 查看文件的修改状态(添加A、修改M、删除D)
图形化svn客户端工具
CornerStone (圆角石头) Versions 莲花 Xcode集成svn客户端的功能
CornerStone使用步骤
1.映射svn服务器的url(代码的URL))到本地
2.把服务器url代码 下载到 本地的'工作目录'
3.下班前把代码提交
图形化操作较为简单,就不再细说,其它图形化工具也是类似。