520到了,今年的520与往年不同,因为新冠肺炎,有人的对象可能在武汉还不能返京,有人的对象可能在异国他乡还不能回国,有的人可能还还没有对象。无论有对象不能相聚,还是没有对象的人,都不要觉得孤单,因为今天小编要给大家介绍对象了~~
今天的对象选手是在代码开发中进行团队协作的工作流,现在企业的代码都托管在Git仓库平台,因此了解Git代码托管平台的工作流非常重要,这样才能在代码开发过程中选择最合适自己团队的模式,提高团队协作效率和代码质量。因此选择合适的对象非常重要噢。
今天介绍的对象包含集中式工作流、功能开发工作流、GitFlow工作流、Forking工作流。
对象1:集中式工作流
集中式工作流的特点是只有一个master分支,开发者需要先把远程的仓库克隆到本地,之后的修改和提交都在进行,直到某个合适的时间(比如提测时间)再把本地代码合并到远程master,这种工作流不需要有太多的团队协作,适用于小团队。
这种开发方式是最简单的,基本上只有你一个人在对代码进行修改,不用担心其它人把远程的内容改动了,你把本地代码合并到远程时出现代码冲突问题(因为开发过程中,别人把远程的代码修改了,你开发的基准仓库内容已经变化了,再合并时就有问题了)。
如果你喜欢二人世界,那么这个对象是最适合你的,因为不需要去处理和孩子、女方家庭种种错综复杂的事情。
对象2:功能开发工作流
功能开发工作流的核心是关注功能开发。它要求每次新开发功能必须要从master分支拉取feature分支进行功能开发,开发完成并审核(CodeReview)通过后,才能合并进master分支,保障master分支是稳定而干净。
这种开发方式的好处是增强了团队成员之间的代码交流,提高代码质量和团队成员水平。对于刚加入团队的新人或代码水平不高的新手来说,新功能的开发从master分支创建feature分支开发,在合并到master分支时候需要申请合并,在审核过程中团队的老人或导师会帮你检查是否正确的完成了功能、代码的开发风格是否正确、代码的写法是否算法最优,一方面帮助新人了解了整个团队的代码管理机制,另一方面也学习到了同一个功能如何编写是最好的,提高了代码水平。如果你喜欢家庭,愿意和女朋友的家人、朋友、未来的小孩都有不错的交流,这个对象是最适合你的,因为在和女朋友及其家人朋友的相处过程中,提高了你的综合能力,也使得你们的爱情更有质量,毕竟也是经过了家人、朋友的考验呢。
对象3:Gitflow工作流
GitFlow工作流是最复杂的工作流,它的核心是明确工作规范,即根据开发内容不同划分了不同的分支类型,再通过分支类型的不同规定了合并策略。
为了保障master分支的稳定,团队首先会基于master分支创建一个Develop分支,Devlop分支的代码内容和master分支是一致的,所有的修改都在Develop上进行。
当团队需要开发新功能时,就基于Develop分支创建新的feature分支,开发完毕,合并进Develop分支。当合并的内容达到一次发版要求,QA会基于Develop分支创建一个Release分支,在这个release版本上进行测试,所有测试中的问题都在release分支进行修复,直到达到上线要求再合并到Master分支和Develop分支,以master分支进行发布。
当线上出现紧急问题时,基于Master分支创建Hotfix分支,进行Bug的修复,再合并回Master分支。整个工作流要求严格,保障了整个项目的稳定性,适用于大型项目、多人开发团队。
这种开发方式的好处是在增强了团队成员之间的代码交流,提高代码质量和团队成员水平基础之上,规范了开发流程、保障了项目的稳定性。对于多人合作开发的项目团队来说,这种是最合适的,因为项目复杂、内容多,通过明确的规范,能知道在什么分支上做什么事情,整个团队的管理都可以有条不紊的进行。如果你喜欢一家人一起生活,这个对象是最适合你的,因为在照顾自己小家的同时,也赡养了父母,虽然整个家庭很大,但通过明确的分支,家庭的每个成员都知道自己的责任和义务,和和睦睦、融融洽洽的在一起生活,有问题一起商量解决。
对象4:Forking工作流
Forking工作流的核心在于分享。最初是因为有些项目因为做的很好,开发者将其放在了GitHub上开源,有的人需要用到这个内容并进行一些个性化的改造、或者是想帮助这个项目完成的更好,就把这个项目Fork到自己的仓库组里,在里面进行开发和修改,等到完成之后,可以自用、也可以像仓库的维护者提PullRequest,把自己的修改也增加到仓库中,让更多的人使用。逐渐的也演变成了大型项目的一种工作模式,因为GitFlow工作流太严格了,要遵守的规则、记住的内容太多了,这一点也不freestyle,所以项目的开发者们也会从核心仓库Fork仓库到自己的仓库组里,在Fork仓库下进行代码的开发和修改,等到自测无误的时候就像核心仓库提PullRequest进行代码的合并。
这种开发方式的好处是在保证团队协作和代码质量的情况下,团队合作方式更简单灵活。如果你喜欢只谈恋爱,那么这个对象是最适合你的,对象完全灵活,交往的时长完全取决于双方是否融洽和心情。
上述分享了四个开发工作流模型,每个工作流都有自己的适用场景,如何选择合适的工作流,需要基于团队成员情况、团队对工作流的理解、工作流的执行程度。
就像这四种类型的对象一样,年轻的时候可能只想谈谈恋爱,慢慢的也会过渡到二人世界,再到见父母见闺蜜基友,最后结婚生子,不同的选择基于不同的年龄段、经济能力、想法、对象。
AI课工场 人工智能也可以如此轻松好玩
在阅读过程中有任何问题,请留言告诉我们
微信公众号:AI课工场
网友评论