Git和特性开发

Git和特性开发

ID:44702855

大小:3.71 MB

页数:27页

时间:2019-10-25

Git和特性开发_第1页
Git和特性开发_第2页
Git和特性开发_第3页
Git和特性开发_第4页
Git和特性开发_第5页
资源描述:

《Git和特性开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Git和特性开发千米网开发实践版本控制系统VCS拷贝文件(原始)!RCS(本地版本控制)!CVS、SVN(集中版本控制)!Git、Mercurial(分布式版本控制)传统的版本管理Version1Version2Version3Version4Version5FileA∆1∆2FileB∆1∆2FileC∆1∆2传统的版本管理是记录每个版本的变更内容Git的快照Version1Version2Version3Version4Version5FileAFileA1FileA1FileA2FileA2FileBFileB1FileB2FileB3FileB3FileCFileCFile

2、CFileC1FileC2Git记录的是完整的文件快照,!每个版本(commit)是这些快照的指针集合Git的本地提交Git绝大部分的操作只需要访问本地文件1.在无网络环境下提交代码和切换分支,在有网络环境下一次性push到远程仓库;!2.小步提交,在无网络情况下也可以保证每次提交的原子性;!3.本地回滚,可以减少中央库上的冗余版本使用Git的基础pulcheckoutLocal!pushRemote!WorkspaceRepositoryRepositoryIndexfetch/cloneaddcommit掌握工作空间、暂存区、本地仓库、远程仓库四个概念!add/commit/p

3、ul/fetch/clone/checkout6个命令开发流程对比SVN的模式是:!Git的模式是:!1.写代码;!1.写代码;!2.Update服务器的当前版本库,2.add到暂存区;!并解决服务器版本库与本地代3.commit到本地版本库;!码的冲突;!4.从服务器pul当前版本库,并解决服务器3.Commit将本地代码提交到服务版本库与本地代码的冲突;!器;!5.将远程库与本地代码merge结果commit到"本地版本库;!6.将本地版本库的修改gitpush到服务器;!有没有搞错,用了Git反而复杂一倍?真的需要Git吗?亲,如果您还没有在开发过程中频繁使用branch/c

4、heckout/merge/rebase这些命令,说明SVN更合适您的团队!Git不仅仅合适开源社区,对于商业公司的采用敏捷流程的开发团队是非常的合适千米网使用Git的原因不是为了时髦,而是为了快速获取用户反馈,加快产品发布频率,我们采用了敏捷中的特性驱动开发(FDD)!希望开发团队完成一个完整的特性,就能够发布上线,特性的粒度比较小。千米开发过程通过Maven管理项目,POM定义版本号信息!每次迭代周期大概一个月(2013年),计划缩短到两周以内,最好一周一次发布版本号命名Name:用于标识不同的模块,比如账务中心的acct。!Major:主版本号,标识版本有重大变化,适用于对产

5、品的功能升级、架构调整,可能代码会大量重写,这些调整使得版本无法实现向后兼容性,可能接口不兼容。!Minor:次版本号,如果两个版本的名称和主版本号相同,而次版本号不同,标识功能显著增强,但照顾到了向后兼容性,一般来说升级风险较小。!Revision:名称、主版本号和次版本号都相同但修订号不同的版本完全兼容。适用于修复以前发布版本的BUG或者工作量10人天以内的小改进。!Version_Type:用于区分当前版本的状态传统的单主干不合适特性开发1.0.21.0.11.1.11.2.11.0.01.1.01.2.02.0.0传统的SVN之类的SCM,分支管理成本很高,基本上是一个主干

6、新增功能,一个分支修改bug的onetrunk!但是在多个特性并行在主干开发的情况下,单个特性完成也无法发布版本,必须等到一批特性完成。必须采用多分支开发才能解决问题千米网开发团队组织架构在SOA分布式架构下,系统分为前端业务和平台中心等多个模块,特性团队负责面向客户模块守护者的功能开发,功能横跨特性组1开!数个模块(包括业务和发!特性组2中心)。!组!长特性组3各个模块守护者负责代码的合入审查和重构模块A模块B模块CGit符合千米网的需求去中心化,每个人都是一个代码库完整的备份!创建分支只是一个指针,文件都在本地仓库,无需拷贝,成本极低!切换分支速度极快,文件快照都在本地!合并分

7、支更智能!能够方便的实现特性发布特性发布开发团队在一个远程仓库中使用多个远程分支进行多feature、bugfix的并行开发,互不影响!特性完成后即可发布上线,做到“特性发布”粒度理想的模式feature3-brfeature1-brbugfix1-brMaster1.0.01.1.01.1.11.2.0feature2-brbugfix2-brfeature4-br业界主流的方式是在master维护稳定的代码,在特性分支上开发新的功能遇到的问题有些项目组采用发布分支的概念

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。