1、新益昌自动化设备有限公司深圳研发中心,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,SVN操作及软件协同开发,粟明 2015-4-18,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,目 录,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,1.什么是TortoiseSVN,TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间地管理文件和目录。,2.版本模型,基础问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰,图 1.1
2、需要避免的问题,一、基本概念,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,图1.2复制-修改-合并,图1.2复制-修改-合并(续),2.版本模型 -复制-修改-合并 方案,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,一切都要归结到一条重要的因素: 用户交流。 当用户交流贫乏,语法和语义的冲突就会增加,2. 复制-修改-合并 模型运行的关键,复制-修改-合并模型感觉是有一点混乱,但在实践中,通常运行的很平稳,用户可以并行的工作,不必等待别人当工作在同一个文件上时,也很少会有重叠发生,冲突并
3、不频繁,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,1.服务器访问URL,二、日常使用,2.图标重载,一个新检出的工作复本使用绿色的对勾做重载。表示Subversion状态正常.,在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。 通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被修改过,需要被提交。,如果在提交的过程中出现了冲突图标变成黄色感叹号。,表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。,加号告诉你有一个文件或是目录已经被计划加入版本控制。,勇
4、于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,3.认证,二、日常使用,4.导入数据到版本库,1).版本库布局,硬盘创建一个空文件夹 在该文件下创建顶级目录(不放任何东西进去),2).导入项目,删除所有构建工程不需要的文件(临时文件、编程产生的文件,例如*.obj,生成的二进制文件,) 右键单击文件夹,选择TortoiseSVN 导入. ,注意,你导入的文件夹名将不会存在于版本库中,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,5.检出工作副本,二、日常使用,6.更新与提交,1).更新,Tort
5、oiseSVN Update 或TortoiseSVN Check for modification,提交文件还是文件夹?,对于VC 工程,我们只提交.h ,.cpp. , .rc,右键点击弹出右键菜单,选择TortoiseSVN Checkout,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,4.更新与提交,2).提交,Non-versioned文件太多,效果:不会出现在提交对话框中,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,6.用来自别人的修改更新你的工作
6、副本,紫色新项已经增加到你的工作副本中。 深红你的工作副本中删除了多余项,或是你的工作副本中丢失的项被替换。 绿色版本库中的修改与你的本地修改成功合并。 亮红来自版本库的修改在与本地修改合并时出现了冲突,需要你解决。 黑色你WC中的没有改动的项被来自版本库中新版本所更新,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,6.解决冲突,有时当你从版本库中更新你的文件时,会有冲突。冲突出现的原因是两个开发人员修改了文件中相同的几行,一旦出现冲突,你就应该打开有问题的文件,查找以字符串开头的行。 有冲突的区域用如下的方式标记:, revi
7、sion,通过TortoiseSVN 编辑冲突运行外部合并工具/冲突编辑器,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,6.解决冲突,通过TortoiseSVN 编辑冲突运行外部合并工具/冲突编辑器,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,6.解决冲突,执行命令TortoiseSVN Resolved ,并commit到服务器即可,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,6.版本日志对
8、话框,最上方的面板显示了版本的列表。这其中包含了日期和时间,以及提交的用户和日志信息开头的部分内容。,中间的面板显示了被选中的版本的完整的日志信息。,最下面的面板显示了被选中版本中都对哪里文件和文件夹进行了修改,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,7.查看差异,在项目开发中,有一个很常用的要求就是查看更改。可能是你要求查看同 一文件的两个版本之间的差异,或者是查看两个独立的文件的差异 。,本地更改,与历史版本的比较差异,TortoiseSVN Diff,TortoiseSVN Diff with previous ve
9、rsion,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,二、日常使用,7.Revert,如果你想要撤消一个文件自上次更新后的所有的变更,你需要选择该文件,右击弹出快捷菜单然后选择TortoiseSVN Revert命令 , 注意, 这个会更改服务器的本版!,7.实用链接,http:/ 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,三、SVN平台软件协作开发,1.平台库软件组件的协同开发,公共部分,1、AutoCSD 2、HMI界面公用代码 3、Mtion逻辑公用代码,勇于挑战 高效合作 精益求精 力
10、创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,三、SVN平台软件协作开发,1.平台库软件组件的协同开发,具体的工程,在服务器路径下, 没有相应的公共部分,?,将公共部分的代码 下载后,直接复制 (剪切)放在具体 的工程目录对应路 径中,连同隐藏的.svn一起哦!,勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,三、SVN平台软件协作开发,2.不同硬件系统和不同开发包版本的,协作开发时,定义不同的开发环境, 通过预编译来配置。 (不同的硬件组成、算法组成的时候用!),勇于挑战 高效合作 精益求精 力创卓越,机密资料,严禁外传,新益昌自动化设备有限公司深圳研发中心,三、SVN平台软件协作开发,3.软件调试文档,调试文档分为两个目录分别提交1、是DebugRecord,包括以后出机后的问题提交 2、是本身工程目录下的 调试记录,调试工程师- 研发文员-DebugRecord,勇于挑战 高效合作 精益求精 力创卓越,勇于挑战 高效合作 精益求精 力创卓越,新益昌自动化设备有限公司深圳研发中心,