`

svn(二)提交工作前注意

阅读更多

此文为引用:http://developer.51cto.com/art/201005/202220.htm

-----------------------------

一.提交之前先更新
      1.SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。
      2.如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。
      3.在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。

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


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

 

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

 

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

 

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


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

 

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

分享到:
评论

相关推荐

    SVN自动更新提交脚本.zip(windows版本)

    不过,需要注意的是,自动提交应谨慎使用,因为它可能在未经审查的情况下引入错误代码。 3. **可设置时间**: 脚本允许用户自定义执行更新和提交的时间,这样可以避免在团队的高峰时段影响其他人的工作。例如,你...

    AndroidStudio使用svn第一次提交,忽略文件注意事项

    Android Studio 中使用 SVN 的第一次提交注意事项 Android Studio 作为一款功能强大的集成开发环境,在使用 SVN 进行版本控制时,需要特别注意第一次提交时的忽略文件问题。本文将对第一次提交时需要忽略的文件...

    svn命令行修改已提交的版本备注

    在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称SVN)是一个广泛使用的集中式版本控制系统。...在实际工作中,良好的版本控制习惯,比如在提交时提供清晰的备注,是避免这类问题的最佳策略。

    svn提交文件自动邮件提醒

    本文将详细讲解如何实现"svn提交文件自动邮件提醒",主要涉及`commit-email.pl`钩子程序的设置与使用。 `commit-email.pl` 是一个Perl脚本,通常作为SVN服务器的post-commit钩子,当用户提交代码到SVN仓库后,该...

    SVN提交代码时格式

    #### 二、SVN提交日志的规范与格式 通常,为了确保团队成员之间的一致性和清晰度,项目管理者会定义一个统一的日志格式。例如,本文提到的格式为:“NGRBUG-xxx:yyy”或“NGRDEV-xxx:(yyy)zzz”。其中,“NGRBUG”...

    myeclipse用svn提交的时候报错

    在使用MyEclipse进行SVN提交时遇到错误:“Attempted to lock an already-locked dir”,具体表现为以下错误信息: ``` svn: Working copy 'D:/Program Files/MyEclipse 6.6flex/workspace/emis/WebRoot/emis/...

    SVN Training svn培训

    7. **版本升级**: 了解如何从旧版本的 SVN 升级到新版本,以及升级过程中需要注意的问题。 通过 SVN 用户和管理员的培训,参与者将能够熟练地运用 SVN 进行代码版本控制,提高团队协作效率,保障项目的稳定和高效...

    SVN注意事项

    - **提交与更新流程**:每日工作结束前,先同步,查看是否有冲突。若有冲突,通过对比本地与服务器的差异进行解决,然后更新服务器数据,最后提交本地更改。 - **备份与恢复**:养成定期备份的好习惯,以防意外...

    svn常见问题及解决

    6. **蓝色向左箭头(SVN上修改)**: 提醒你更新代码后再进行修改,确保在提交前与SVN同步。 7. **灰色向右且中间有加号的箭头(本地多出的文件)**: 如果你添加了新文件,记得通过SVN的`add`操作将其纳入版本控制。 8....

    svn清理sqlite3

    但请注意,这可能会导致部分数据丢失,因此在尝试前最好先备份。 4. **权限问题**:确保当前用户对svn仓库和SQLite3数据库文件具有适当的读写权限。在Unix-like系统中,可以使用`chmod`命令调整权限。 5. **升级或...

    SVN培训 SVN培训 SVN培训 SVN培训 SVN培训 SVN培训

    2. **工作副本(WorkSpace)**: 开发人员本地的工作区域,从配置库中检出源代码进行编辑,完成后将更新提交回配置库。 **SVN的工作模式** 1. **复制-修改-合并**: 每个用户有独立的副本,平行工作,最后合并改动。 ...

    Windows下git拉取/推送,SVN更新/提交,maven自动编译打包,angular打包的bat脚本

    本主题将详细讲解如何利用Git进行拉取与推送,SVN进行更新和提交,Maven实现自动化编译,以及Angular项目的打包发布,这一切都将通过批处理(BAT)脚本来实现,以提高工作效率。 首先,我们来看Git的拉取(pull)和...

    clearSVN清除svn文件

    但需要注意的是,任何自动化清理工具都可能存在风险,因此在使用前要确保了解其工作原理和可能的影响。在日常开发中,定期进行这样的清理操作,可以保持良好的项目管理习惯,也有助于提升开发效率。

    window安装SVN并设置邮件提交转发

    实现SVN提交后自动发送邮件,可以通过编写一个post-commit钩子脚本来完成。该脚本会在每次提交后执行。脚本内容包括调用邮件发送程序如sendmail或Windows系统命令行下的邮件发送命令,并配置相应的邮件服务器地址和...

    SVN架设 提交版本的同时更新网站的方法

    "SVN架设 提交版本的同时更新网站的方法"这个主题聚焦于如何配置SVN服务器,使得每次提交代码到仓库时,能够自动将更新同步到Web服务器的发布目录。这一功能对于实时部署和持续集成流程至关重要,尤其是对于那些需要...

    .svn删除软件

    需要注意的是,直接删除`.svn`文件不会影响已提交到SVN服务器的代码,但会导致本地工作副本失去版本控制,无法进行版本对比、更新和提交操作。如果你只是想临时断开与SVN服务器的连接,而保留版本历史,应使用`svn ...

    清楚svn目录下生成的.svn文件夹

    在使用Subversion(SVN)版本控制系统管理代码时,`.svn`文件夹是SVN用于存储元数据的地方,包括版本信息、工作副本配置等。这些文件夹对于SVN的正常运行至关重要,但有时它们可能会占用大量的磁盘空间,或者在不...

    VS2008 SVN插件

    重新启动 VS.NET 后,AnkhSVN 就可以正常工作了。 需要注意的是,如果 Solution 中包含 Web 项目,需要先使用 TortoiseSVN 取得 Solution,然后再用 VS.NET 加载 Solution。这是因为 AnkhSVN 默认只支持 .svn ...

    svn清理工具 svn文件夹清理

    在长期的项目开发过程中,SVN仓库可能会积累大量的无用文件,如旧版本、冲突解决后的临时文件、未提交的更改等,这些文件会占用大量存储空间,此时就需要使用到SVN清理工具。 SVN清理的主要目标是整理工作副本,...

    svn 自动 lock 自动锁

    "自动化办公"标签暗示了这个工具可能是为提高日常办公效率而设计的,特别是在svn操作频繁的工作环境中。而提到"cmd",可能意味着这个工具是基于命令行界面的,适用于熟悉命令行操作的用户。 6. **实现方式** 自动...

Global site tag (gtag.js) - Google Analytics