常见的版本控制软件
CVS
- 以经基本被淘汰
SVN
- Subversion (就是为了替代CVS)
- ClearCase
- IBM开发 (收费)
- VSS
- 微软开发.用的人很少
- GIT
- 分布式版本控制软件
VisualSVN
- 图形化SVN服务器
SVN常见图标的含义
- 绿色的对号
- 说明当前的客户端代码仓库内容跟服务端完全一致
- 蓝色的问号
- 说明本地仓库中的文件在服务端仓库没有这个文件这个文件时提交还是删除,有用户决定
- 蓝色的加号
- 说明当前文件等待提交到SVN服务端仓库
- 红色的感叹号
- 说明当前项目跟服务端不一致
- 黄色的感叹号
- 说明当前文件跟服务端文件有冲突
- 灰色的对号
- 说明当前文件已经加锁
- 绿色的对号
多人开发,获取最新的内容
- SVN update : 更新本地代码库,跟服务端同步
- 通过r** 文件 可以看出当前最新版本的代码是什么样子的
- 比较之后,直接在自己的代码中修改
- 修改之后 删除r** 这是自己的文件就可以提交了
- 加锁 : 可以使一个文件值能是一个人在操作
- locking required 锁住
- no locking required 解锁
- 操作之后. 要commit提交,加锁才会生效
- 文件被锁住之后,图标会变成灰色的对号,右键单击这个文件SVN GET LOCK.可以获取锁
*实际上锁住的文件就是把文件的属性变成了只读,如果当前没有人拿到锁,可以在本地修改文件属性,直接提交也可以获取锁,那么这种方式只能在本地修改不能提交
需要注意,获取到锁之后要及时提交,提交之后锁才会释放,如果获取到锁但不释放锁,那么别人救无法修改这个文件.所以一般不推荐使用锁机制
- 文件被锁住之后,图标会变成灰色的对号,右键单击这个文件SVN GET LOCK.可以获取锁
单一项目目录结构
- trunck : 主干,主分支.用来开发主版本
- tags : 1.0 –> 2.0 里程碑版本,相对稳定的版本文件
- branches : 分支,用来做定制版的开发
使用SVN插件管理Android项目
- 右键单击项目选择team
- gen . bin 目录的内容(自动生成的文件)没必要提交
- 右键单击项目选择team
GIT
git控制器不需要关联服务器,开发人员的计算机就是自己的服务器
git可以自己提交给自己,commit之后不是提交到远端服务器,而是本地
所有的开发人员将自己修改代码的补丁提交到主开发人员,有主开发人员来选择是否通过该补丁,
然后由主开发人员通过push提交到远端服务器git是基于Linux的操作指令
- Windows版本的git:Linux的git加上cygwin
- xygwin : Linux命令行模拟器
- commit : 本地提交,提交给自己
- clone : 把公共服务器仓库克隆到本地,相当于SVN的checkOut
- push : 把代码上传到公共服务器,相当于SVN的commit
- pull : 把公共服务器的代码下载到本地,相当于SVN的update
- 开发者通过邮件发送补丁
- xygwin : Linux命令行模拟器