硬件研发部SVN库管理规范_第1页
硬件研发部SVN库管理规范_第2页
硬件研发部SVN库管理规范_第3页
硬件研发部SVN库管理规范_第4页
硬件研发部SVN库管理规范_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XXXXxxxx科技有限公司硬件研发部 SVN版本库管理规范硬件研发部2014/8/8制定初审终审内部资料1 总则目的:规范目前硬件设计、固件设计、机械设计、项目管理、项目支撑等相关人员对SVN的操作。SVN虽然能帮助我们的团队更有效地协作,但是如果使用不当,它不仅没给我们带来任何的方便,反而会降低我们的工作效率,因此编写此规范,目的是方便大家的工作。适用范围:硬件研发部全体员工、后续可能对关联部门(生产部、品质部、采购部)的部分版本库的部分权限开放。2 SVN概述随着项目的规模越来越大,以前靠邮件传送修改代码的方式显得捉襟见肘了,已经严重影响了我们的工作效率。SVN全称是Subversion

2、,是一种版本控制系统,可以给团队开发项目时带来很多好处:l 它给团队提供了一个项目级别的撤销功能,没有什么是最终确定了的,错误可以很容易被回滚。即无论团队成员什么时候所做的修改,都可以撤销;l 它使得多个程序员可以有序地同时为同一个程序写代码。团队不再会因为某人覆盖了其他团队成员所做的编辑而丢失做过的工作;l 版本控制系统记录着每时每刻的改动。如果你遇到了一些修改过的代码时,要找到是谁何时写的就会很方便,还可以通过日志了解为什么要这样写;l 版本控制系统可以让你能够保持主线开发进行的同时发布多个版本。有了版本控制系统,就无须在发布之前让团队停止工作以冻结代码了;l 版本控制系统是一个项目级别的

3、时间机器,可以让你输入一个日期就可看到项目当时的样子。3 常规操作3.1 基本操作流程图图1 SVN基本操作流层图在这里一定注意,在对已有的版本库进行操作前,一定要先更新后提交,具体注意事项如下:经常更新:由于文件可能有多个人修改,应该经常更新你的工作拷贝中的文件,这样能降低发生冲突的可能性;测试提交:提交前先在本地进行测试。不允许将有错误的文件提交到SVN服务器上;填写备注:提交时一定要写备注:备注有助于其他人(包括三个月后的你自己)理解你对文件所做的修改;整体提交:提交文件时注意要提交一项改动所对应的所有文件,不要一次提交一个文件或者一次提交修改了很多功能的一堆文件。3.2 冲突冲突的解决

4、注意事项:目前根据部门人员规模及项目规模,尽量避免多人在同一时间对同一个文档进行编辑的情况,目前最可能出现冲突的情况有两种:1 因为软件自身原因,改变了个别记录性质的文件(如allegro的.jrl文件),并不是出于自身想编辑文档的意愿;2 忘记更新而直接编辑协同工作的文档,比如同一个使用说明书,A员工修改提交后,B员工忘记更新直接修改提交。对于第一种情况,选择SVN还原(revert)放弃自己的修改即可,如下图2所示。关于避免冲突的几点建议:1) 修改文件之前,先进行一次update操作;2) 修改完成后,及时commit,不要在本地停留过长时间;3) 在多位团队成员协作时,尽量修改自己撰写

5、的部分,尽量不要修改不属于自己撰写的部分;4) 出现冲突很正常,可以通过前面的方法解决,不要相互覆盖。图2 SVN还原操作3.3 文件检出安装TortoiseSVN后,SVN会跟Windows的资源管理器完美集成。点击右键,我们可以在菜单栏中选择“SVN检出”选项,输入要检出代码的文件库的URL地址,我们就可以检出该URL地址下的文件库的文件。默认情况下是检出最新版本的代码,如果需要,我们可以通过浏览日志,根据日志来找出想要的版本,然后在“版本”选项中指定相应版本就可以检出相关代码了。之后,对于同一个项目的主干开发,我们都在这个检出的代码文件目录下操作,而不是每一次提交或更新都重新检出一次。3

6、.4 文件添加我们在本地创建的文件(包括目录)不会受SVN的控制,为了让其接受SVN的控制必须将其添加到文件库中。对于团队其他成员需要的文件,如代码文件、某些模块的.a文件(由于某些需要,该模块代码不公开),我们必须让它们接受SVN的控制,并且保持最新的版本。3.5 文件删除当我们需要删除无用的文件(包括目录)时,不能使用Windows的资源管理工具,而必须使用SVN本身的删除文件功能。这样该文件被删除后,其所有修改历史仍然保存在SVN服务器中,以后仍然可以获得该文件的修改历史。3.6 文件改名当我们需要对文件(包括目录)进行改名的时,不能使用Windows的资源管理工具,而必须使用SVN本身

7、的文件改名功能。这样该文件被改名后,其改名前的所有修改历史仍然保存在SVN服务器中,保持连续的修改信息。3.7 文件更新其他团队成员提交到SVN上的改动不会自动更新到你的本地拷贝中来,我们需要通过更新文件操作来获取其他成员对项目文件所做的修改。SVN更新文件操作会把文件库里的文件与本地文件进行合并,从而达到了同时保留其他成员的修改及本地的修改的目的。如果无法自动合并则会发生冲突,需要使用文件比较工具进行手工合并,合并完成后才能提交已解决冲突的文件。在团队开发时,更新是一件很重要的工作,可以保持团队成员之间的工作内容一致,因此要注意经常更新自己的工作拷贝,以保证自己能够获得最新的修改内容。3.8

8、 改动提交我们对文件(包括目录)所做的一切改动,包括添加、删除、修改文件都必须提交到SVN服务器文件库中才能正式生效,之后团队的其他成员才可以获取你所作的修改。提交是很重要的一项操作,要求做到:l 提交代码之前一定要保证修改后的代码能编译通过,不能提交编译不通过的代码。l 比较修改前及修改后的代码,把调试信息或其他不相关的信息去掉,再次确保提交的代码是正确的并且提交的是需要提交的文件。l 不要等到修改了很多代码才提交,而是相关小功能完成时就应该提交一次。这样以后发现问题时就很容易撤销有问题的代码因为撤销只能针对一次提交,所以在一次提交里涉及过多的功能是不推荐的。l 提交时必须填写log信息,说

9、明这次提交增加了什么功能或者修正了什么bug。这些信息有助于自己和其他团队成员了解整个项目的历史。当出现问题时也方便定位到对应的版本代码,所以log信息必须足够详细。3.9 发布提交发布提交是指一些经过评审通过的,可外发、可量产、可公布的图纸、说明书、标准等资料。任何“发布提交”操作都必须由部门主管执行。执行发布提交操作时,一定要配有评审单和检查单,两个文件才可提交SVN,没有的需要说明原因附在发布文件夹内。相关项目人员有读权限。3.10 上传、删除、修改标识符为规范统一 南昌 镇江后续操作SVN上的要求统一,我们从现在开始统一在南昌SVN提交时,除了要写明备注还要按照:SVN 上传标识符:  add     delte     modify                          

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论