从git谈起--git开发

作者来自某国际知名企业,无聊时喜欢看一些城市撕逼论坛,周末无聊谈一谈在大厂里面的工作感受。
为提升国际声誉,避免打压。最近公司组织XX认证,考试题目涉及较广,考试通过甚难。除了自己擅长的编译构建、配置管理等很多题目是未在工作中实际使用的,想来想去呢,从git这个工具谈起。尽量通过这个引入在软件开发过程中的技术(包括安全、算法、数据结构等)。
从2015年首次使用git以来,接触git工具已经快5年了。结合多年的版本持续集成和开发经验,谈一谈感受。
一、新手学习成本
相对于大家一开始接触的svn等集中式工具来说,git的学习成本还是比较高的。在大多数人的使用情况,大家把git还是当作svn来使用,并没有真正使用到它的分支管理、团队协作等优秀的管理能力。现在结合自己的使用经验来谈谈。
二、分支管理
背景:最近开发组一直抱怨A项目(100人左右的大型项目)的某个模块功能不稳定,主要是数据模型上总是出问题。于是通过与SE等人的沟通,决定花3人月的时间来重构。找来了2个开发人员,加上我一个3个人。此时A项目的这个模块bug修复每天都在疯狂的上线和测试中,怎么安全有效的开发好这个功能?
1、所有开发人员基于FORK仓库的某个固定时间点,checkout出一个分支A。
2、大家持续在A分支进行功能开发,并不断从其他开发的仓库中的fetch+merge代码,保证功能日趋完善。
3、A分支代码优化过程中,经常会发生代码与主干代码的冲突,于是采取如下方法,任命我为冲突解决专项人员,每天fetch+merge其他2人的代码,并pull主干代码,解决冲突。其他人也不定时会更新我的所有代码。
一个月后所有功能开发调测完成,提交我的分支到主干。
4、使用git的好处
(1) 快速拉分支
(2) 快速pull代码,解决冲突
(3) 快速merge分支到主干。

你可能感兴趣的:(从git谈起--git开发)