SVN提交注意点

摘要:
同时,它还可以避免SVN合并错误导致的代码错误。2.保持原子性。每次提交之间的间隔应尽可能短。3.注意不要提交本地自动生成的文件。通常,配置管理员会筛选并提交项目中自动生成的文件或与本地配置环境相关的文件(例如eclipse中的.classpath文件)。如果项目没有强制禁止提交此类文件的配置,四、不要在提交前提交无法编译的代码。

网上看到一篇blog,发现总结得不错,共享一下

http://www.blogjava.net/sealyu/archive/2009/09/03/293717.html

 一.提交之前先更新

1.         SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。

2.         如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自 己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

3.         在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错

二.保持原子性的提交

每次提交的间歇尽可能地短,以几个小时的开发工作为宜。例如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

三.提交时注意不要提交本地自动生成的文件

一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。

四.不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

五.不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

六.提前协调好项目组成员的工作计划

项目经理应该合理分配工作计划。每个成员在准备开始进行某项功能的修改之前,如果有可能,先跟工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

七.对提交的信息采用明晰的标注

在一个项目组中使用SVN,如果提交空的标注或者不确切的标注将会让项目组中其他的成员感到很无奈,项目经理无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

八.慎用锁定功能

在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

免责声明:文章转载自《SVN提交注意点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇架构之美阅读笔记二JAVA8之Stream下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

私有云盘Seafile

私有云盘Seafile 环境:CentOS 7 Seafile版本: Seafile 7.0.5社区版 官网手册:https://cloud.seafile.com/published/seafile-manual-cn/deploy/using_mysql.md 其他版本下载:https://download.seafile.com/d/6e529724...

VS2015代码托管到Github

VS2015代码托管到Github 2018-07-02 10:53:50 【原创】本文地址:https://www.cnblogs.com/qiaoge0923/p/9253080.html 一直没有记录在GitHub上托管代码的方法,最近学习设计模式,想把相关的学习记录下来,把源码托管到GitHub以方便后面温习。 VS2015团队资源管理器里面就有到...

隐藏Apache版本号

  为什么要隐藏版本号? 一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对攻击者来说是很有价值的。 如何隐藏? 要隐藏Apache版本号其实方法很简单在,只要在httpd.conf中对ServerTokens Prod与ServerSignature Off进行设置即可。 在默认情况下,系统会把Apache版本模块都显示出来(http返回...

Tomcat系列(7)——Tomcat类加载机制

1. 核心部分 1. 类加载器:   通过一个类的全限定名来获取描述此类的二进制字节流。   对于任意一个类,都需要由加载他的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类命名空间。 2. 类加载机制:   按需加载。   Java虚拟机把描述类的数据从Class文件加载进内存,并对数据进行校验,转换解析和初始...

Linux升级OpenSSH 和 OpenSSL 详细步骤

升级所需的安装包都应提前放到服务器,以免后面无法连接 #####准备工作##### 一、配置更新 yum源 (是为了可以在线下载更新需要的安装包) 1.删除当前所有yum源文件cd /etc/yum.repos.drm -rf 文件名 2.编辑新的yum源文件 vi rhel6.7.repo 粘贴如下信息保存 若这个粘贴出现错误就用CentOS-Base...

Autofs自动挂载探讨

Autofs介绍: mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设 备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有 必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们 一般不能及时知道NFS共享和SMB什么...