SVN commit update

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

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

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

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

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

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

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

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

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

八.慎用锁定功能
在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平
时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。本文关于SVN提交应该注意的一些问题讲解完毕,请关注本
节其他相关报道。

时间: 2024-11-08 10:49:21

SVN commit update的相关文章

xcode svn commit:remains in tree-conflict错误的解决办法

今天使用svn commit时出现了 XXX remains in tree-confilict 很是郁闷啊! 主要是因为我在服务器端把 图片资源文件delete掉了 然后再update了一次,结果就造成了冲突!后来参照了网上大神们给的解决方案 成功解决问题!!! 下面给出解决方案: filename  是你出错文件的绝对路径 svn remove --force filename svn resolve --accept=working  filename svn commit

svn commit 时出现 XXX is scheduled for addition, but is missing

在工程里删除文件后 commit 报错   XXX is scheduled for addition, but is missing 这是因为之前用svn提交过的文件,会被标记为"add"状态,等待被加入到仓库.若此时你把这个文件删除了,svn提交的时候还是会尝试提交这个文件,虽然它的状态已经是 "missing"了. 解决方案: 在终端中输入   svn revert filePath svn commit OK!

svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.

svn执行update操作后出现: Error : Previous operation has not finished; run 'cleanup' if it was interrupted. Error : Please execute the 'Cleanup' command. 提示要去执行下Cleanup命令,于是就去执行下Cleanup命令,结果出现了: 于是,解决方法只能是清空掉svn的队列.具体操作步骤如下: 1.下载sqlite3.zip 2.找到你svn项目下的.svn,

Svn commit命令无法使用(转)

在运行commit命令时,svn提示:Svn:E205007:无法使用外部编辑器获得日志信息:考虑设置环境变量$SVN_EDITOR,或使用 –message(-m) 或 –file(-F) 选项.Svn:E205007:没有设置SVN_EDITOR,VISUAL或EDITOR环境变量,运行时的配置参数中也没有"editor-cmd"选项.这个提示要求我们指定一个记录日志的文件或者在系统环境变量中增加一个SVN_EDITOR的变量.两者选一就可以了.方法一:在系统环境变量中增加一个SV

eclipse 提交代码到SVN服务器失败,报org.apache.subversion.javahl.ClientException: RA layer request failed svn: Commit failed (details follow)

报错:org.apache.subversion.javahl.ClientException: RA layer request failed svn: Commit failed (details follow) 解决方案: 1.进入C:\Users\Administrator\AppData\Roaming\Subversion\auth  删除auth下所有文件  (AppData文件默认是隐藏的,记得显示隐藏文件,不然会找不到的) 2.打开eclipse中 windows -> Pre

关于SVN无法update和commit也无法clean up的问题

今天在做公司项目的时候发现一个问题,突然之间我的svn就down了,无法update,也无法commit,总是提示要clean up,但是当我真的clean up的时候发现又报其他的错误.后来上网找原因,发现原来是因为SVN服务队列陷入了死循环,导致其内部保存队列的sqlite数据库无法及时清除队列导致. 解决方案: 1.下载sqlite3.exe放置到本地库内(与.SVN队列同级<.SVN是隐藏文件夹,如何查看不知道的百度即可>) 2.找到.svn目录查看内部是否有wc.db文件 3.打开c

SVN客户端操作(clean up|commit|update)系统找不到指定的文件

前天电脑中毒,更新SVN的时候,发现以下错误: Can't open file 'XXXXX\.svn\pristine\7a\7ab8cc591cd8b0425a0e6331cc52756d15baa96d.svn-base': 系统找不到指定的文件. 在杀毒软件中才找到文件,文件已经被隔离. 如果恢复又会被杀掉. 解决方案: 1. 重新checkout 2. 信任被杀毒软件隔离的.svn-base文件(风险杠杠滴) 3. 在对应的目录下,新建一个同名文件即可 原文地址:https://www

SVN Commit:将本地代码更新到服务器代码

1.点击客户端"TortoiseSVN" 选中后显示: 点击Import: 点击"ok": 原文地址:https://www.cnblogs.com/ynhk/p/9668333.html

关于本地用svn up的时候报cannot update svn folder: &quot;unversioned directory of the same name already exists

这是因为本地有手动添加过一个文件夹,然后和svn上的同名文件夹重名了,所以无法从svn update下来 解决办法如下: 1.先给本地的重名文件夹改名 mv  dirname repeatdirname 2.然后重新用svn update,发现错误没有了,而且文件夹也更新下来了 3.最后只要把改了名字的那个文件夹删除掉即可,如果那个文件夹里面有需要的文件,可以把它挪到update下来的文件夹中,再svn commit -m "新增了XX文件": 然后再把rm -r 改了名字的文件夹