关于SVN代码提交粒度和频率的思考
今天组内新来的一个同事问我代码提交频率的问题,他在上家公司是一个模块功能开发自测完成后再提交。而我这边采用的是最少一天提交一次,提倡粒度较小的提交, 而且是基于主干开发。采用这种方式是出于以下几点考虑:
1. 提交的粒度小,和别人冲突的可能性就小,避免代码冲突合并的痛苦。
2. 所有的开发都能看到最新的代码,在多模块协同开发的时候,可以及时的了解别人的进度,也是潜在的一个沟通方式。
3 .及时的发现问题,相对于每次提交上千行代码,几十个模块或方法,小粒度的提交倒逼开发及时的单元测试,有利于尽早的发现缺陷,而不是大海捞针般单步调试老长老长的代码。
4 .持续构建和持续发布,持续集成系统对提交的代码会自动进行静态扫描,定时的进行编译和构建,小粒度的提交能够及时的发现一些编译上或规范上的问题。
5 .代码安全,这种可能性虽然小 但也不能排除,尤其是核心模块的代码,辛辛苦苦好几天,硬盘损坏或电脑丢失就回到解放前。
6 .关于小粒度提交和主干开发,可能比较担心的就是上线问题,b需求还没开发完成,但a需求已经要求上线了,或者a模块上线后发现bug怎么办,关于这点,我的考虑是:
我们的开发和迭代比较快,基本是以周为单位,需求的粒度拆分的也会比较小和独立,所以两个需求的代码相互影响会比较小。
需求的可控性较好,我们的需求更多是内部的,压力没那么大,可以做较好的规划,说白了就是商量的余地比较大,因此冲突的可能性就小很多。
如果真出现冲突,就得需要将b需求的功能巧妙的隐藏起来,灵活的配置,灰度发布等。
总的来说我觉得这种方式适合比较敏捷的项目,对代码的结构和需求的管理要求比较高。另外不代表完全拒绝分支,遇到重大的功能修改时, 或者紧急修复线上问题的时候还是要拉分支的,只不过分支的战线尽量短。
转载于:https://www.cnblogs.com/zhanjindong/p/think-about-svn-commit-granularity-and-frequency.html
关于SVN代码提交粒度和频率的思考相关推荐
- Eclipse svn代码提交冲突
Eclipse svn代码提交冲突(转) 1.Synchronize视图下查看代码冲突 1.Incoming Mode 全部update,更新到本地 2.Outgoing Mode 全部commit, ...
- 统计SVN代码提交情况-官方方法
目录 准备 开始 结果 参考资料 SVN命令统计项目代码行数,开发人数,提交占比....... 准备 工具:satasvn.jar 下载地址:StatSVN download | SourceForg ...
- SVN代码提交数量统计
StatSVN介绍 StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表.比如:代码行数的时间线 ...
- svn代码提交和合并
本文转自:http://blog.sina.com.cn/yueyuedexiaonuanfang 多人开发时有可能遇到冲突 1,重名文件 提交失败. A添加一个111.txt提交成功了.版本库可以 ...
- linux 代码统计工具,Shell脚本实现的基于SVN的代码提交量统计工具
最近没啥事,就用bash写了一个基于svn的代码统计小工具. 可以指定统计的目录,默认递归统计子目录. 目前还没有屏蔽指定目录的功能.哈 代码比较粗糙.不过先晒出来. #!/bin/bash - #& ...
- commit是直接提交到远程吗 svn_xcode 把项目代码提交到远程SVN服务器
环境 xcode 7 Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...
- SVN代码迁移到Gitlab(保留SVN的提交记录)
概述 项目开发前期是用自有 SVN 进行项目管理的,开发完成后,因客户要求,需要将源码提交到客户提供的 Gitlab,故进行项目迁移. 主要步骤 1. 账号对应 2. 拉取 SVN 代码记及日志 3. ...
- 如何使用IDEA将代码提交至SVN
专属目录 如何使用idea将代码提交至SVN 引言 如何提交 首先开启IDEA版本控制集成 查看并连接仓库 共享目录 提交代码 SVN 默认目录 附录 总结 如何使用idea将代码提交至SVN 引言 ...
- linux svn怎么提交代码,linux提交代码到svn服务器
详解Linux命令行下常用svn命令 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout pat ...
- 将项目代码上传至svn服务器,xcode 把项目代码提交到远程SVN服务器
环境 xcode 7 Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...
最新文章
- Cocos2d-X数据、动作、消息的基本操作
- 正在CPU上运行的进程_进程的概念,系统资源分配的单元
- Java之主数据类型的包装
- tcp/udp socket编程异同
- 【NLP】NLP模型BERT和经典数据集!
- 手把手教你接入前端热门抓包神器 - whistle
- 无忧无盘服务器,无忧网维无盘系统新手快速部署.doc
- plupload怎么设置属性_腾达无线路由器怎么设置,这些是你要知道的
- base64解密后乱码_血泪教训!记一个JavaMail 附件乱码的问题
- python 查找IP地址归属地
- ds6708 symbol 驱动_symbol DS6708设置及使用手册中文版.pdf
- C# winform项目开发规范
- 自用PHP版H5微信公众号吸粉引流的恶搞小游戏 当天收获500+粉丝
- 163电子邮箱怎么注册申请?手机号注册电子邮箱的小技巧
- 分享一款好用的ssh工具
- java实现mysql自动更新创建时间与更新时间的两种方式
- 64位进程调用32位DLL详解
- shmget 共享内存 同步读写文件一个进程写,多个进程读,读和写同步,边写边读
- 通过FTP以及SMB实现电脑,手机,ipad的文件同步访问
- 【物联网开发平台MQTT快速接入使用】