专家提醒 SVN提交工作时需要注意的事项

开发 项目管理
本文和大家一起学习一下SVN提交问题,SVN提交在SVN的操作过程中经常遇到,它有哪些需要注意的问题呢,本文给你一一解答。

本节主要介绍一下SVN提交工作时需要注意的事项,在学习SVN的过程中,你可能会遇到SVN提交问题,这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN提交工作时需要注意的事项。下面是具体的注意事项介绍。
一.提交之前先更新
1.SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。
2.如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。
3.在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。
二.保持原子性的提交
每次提交的间歇尽可能地短,以几个小时的开发工作为宜。例如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。
三.SVN提交时注意不要提交本地自动生成的文件
一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。
四.不要提交不能通过编译的代码
代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。
五.不要提交自己不明白的代码
代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。
六.SVN提交时提前协调好项目组成员的工作计划
项目经理应该合理分配工作计划。每个成员在准备开始进行某项功能的修改之前,如果有可能,先跟工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。
七.对SVN提交的信息采用明晰的标注
在一个项目组中使用SVN,如果提交空的标注或者不确切的标注将会让项目组中其他的成员感到很无奈,项目经理无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。
八.慎用锁定功能
在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。本文关于SVN提交应该注意的一些问题讲解完毕,请关注本节其他相关报道。
 

【编辑推荐】

  1. 经验总结:SVN提交数据失败问题行解决行之有效的方法
  2. RedHat系统下如何搭建SVN服务器大揭秘
  3. ApacheSVN服务器安装指导手册
  4. Windows下搭建SVN服务器简明步骤
  5. SVN服务器安装指导手册
责任编辑:佚名
相关推荐

2010-05-26 09:33:21

启动SVN服务

2010-07-12 14:38:03

UML用例建模

2010-06-04 14:42:25

2010-07-06 15:23:24

UML流程图

2010-06-01 10:37:15

SVN合并

2010-06-10 17:02:40

UML建模

2023-12-13 15:20:45

数据中心云计算人工智能

2010-08-12 09:39:26

FlexaddChil

2011-05-26 17:37:11

Ajax

2010-07-09 13:28:10

UML建模

2011-08-08 15:06:36

布线综合布线智能家居

2010-07-27 14:17:52

Flex SDK4

2023-08-25 10:49:37

数据中心服务器

2010-04-22 12:07:37

Oracle Spat

2015-08-19 15:33:41

布线技术

2011-07-21 15:40:24

iPhone 内存管理 对象

2010-09-09 17:06:12

CSS

2010-11-24 14:12:18

MySQL创建有外键的

2010-08-31 14:33:46

DB2游标

2009-06-10 15:36:25

ubuntu netb开发过程
点赞
收藏

51CTO技术栈公众号