svn的准则及使用心得

来源:互联网 发布:vue json过滤器 编辑:程序博客网 时间:2024/05/20 18:20

1 负责而谨慎地提交自己的代码
SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。
如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。
如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。

2 保持原子性的提交
为了尽量控制版本库的变化,我推荐每实现一个功能提交一次,这样子log比较好填。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。提倡多提交,也就能多为代码添加上保险。

3 log一定要填,否则跟用压缩工具打包代码备份一样的效果
  有了log才知道自己每个version是做了什么工作,那么revert到这个版本才有意义。

4 不要提交自动生成的文件
Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,因为这些文件是2进制文件,对我们来说做版本控制一般是没用的,而且每次编译都会改变,大部分情况下没必要做版本控制,所以这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete命令从仓库中删除。
NOTE:4.1  可以通过设置属性来避免提交这些文件,操作步骤:右键-TortoiseSVN-设置-常规设置-全局忽略样式中填写(用空格分隔),推荐:*.opt *.ncb *.suo *.plg *.pch *.idb *.pdb *.scc *.obj obj Debug *.o *.bin bin *.out *.ilk *.aps debug release *.clw *.bak *.Cache *.vshost.exe ,也可以根据自己的需要进行修改忽略文件
4.2 如果有特殊的文件夹或文件,可以add to igore list

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

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

7 不要躲避冲突。
合作开发冲突是难免的。conflict出现的时候要面对它,解决它,这才是svn的真谛。推荐使用WinMerge解决冲突,我一般的方法是,用diff处理conflict,打开项目编译一遍,再验证一边没问题就可以提交了。