Home Contact Gallery RSS Git 在团队中的最佳实践--

    更新时间:2018-03-11 18:58:41 浏览量:

  INfotextkey>men/ target=_blank class=INfotextkey>我们INg/ target=_blank class=INfotextkey>已经从SVN 切换到Git很INfotextkey>多年了,现在几乎INfotextkey>所有的项目都在使用GithubINfotextkey>管理, 本篇文章一下INfotextkey>me/ target=_blank class=INfotextkey>什么使用Git, INfotextkey>以及INfotextkey>如何在团队中正确使用。

  感兴趣的,INfotextkey>可以去看一下Gitbenshen/ target=_blank class=infotextkey>本身的INfotextkey>Heji/ target=_blank class=INfotextkey>设计,内在的架构INfotextkey>体现了很多的优势,不愧是出资天才INfotextkey>Com/yuanchuang/cINfotextkey>Hengxu/ target=_blank class=INfotextkey>程序员LINus (LINux之父) 之手

  INfotextkey>虽然有INfotextkey>HeINfotextkey>me/ target=_blank class=INfotextkey>这么优秀的ben/ target=_blank class=INfotextkey>版本INfotextkey>管理工具INfotextkey>但是INfotextkey>men/ target=_blank class=INfotextkey>我们面对ben/ target=_blank class=INfotextkey>版本INfotextkey>管理的INfotextkey>时候,依然有INfotextkey>非常大得挑战INfotextkey>men/ target=_blank class=INfotextkey>我们都INfotextkey>知道大家INfotextkey>Com/yuanchuang/gongzuo/ target=_blank class=INfotextkey>工作在同INfotextkey>一个仓库上,INfotextkey>那么彼此的代码协作必然INfotextkey>带来很多INfotextkey>问题和挑战,如下:

  INfotextkey>如何开始INfotextkey>一个Feature的开发,而不影响别的Feature? 由于容易创建新分支,分支多了INfotextkey>如何INfotextkey>管理,INfotextkey>Com/yuanchuang/shijian/ target=_blank class=INfotextkey>时间久了,INfotextkey>如何INfotextkey>知道每个分支是干INfotextkey>me/ target=_blank class=INfotextkey>什么的? 哪些分支INg/ target=_blank class=INfotextkey>已经合并回了主干? INfotextkey>如何进行Release的INfotextkey>管理?开始INfotextkey>一个Release的INfotextkey>时候INfotextkey>如何冻结Feature, INfotextkey>如何在Prepare Release的INfotextkey>时候,开发INfotextkey>人员INfotextkey>可以INfotextkey>继续开发新的功能? 线上代码出Bug了,INfotextkey>如何快速修复?而且修复的代码要包含到开发INfotextkey>人员的分支INfotextkey>以及下INfotextkey>一个Release?

  大INfotextkey>部分开发INfotextkey>人员现在使用Git就ishi_18962/ target=_blank class=infotextkey>只是用三个甚至INfotextkey>两个分支,INfotextkey>一个是Master, INfotextkey>一个是Develop, 还有INfotextkey>一个是基于Develop打得INfotextkey>各种分支。INfotextkey>Hege/ target=_blank class=INfotextkey>这个在小项目规模的INfotextkey>时候还勉强INfotextkey>可以支撑,INfotextkey>Com/yuanchuang/yINwei/ target=_blank class=INfotextkey>因为很多人做项目就只有INfotextkey>一个Release, INfotextkey>但是INfotextkey>人员一多,而且项目周期一长就会INfotextkey>出现INfotextkey>各种INfotextkey>问题。

  上面的图你理解不了? 没INfotextkey>关系,这不是INfotextkey>你的错,我INfotextkey>觉得这张图benshen/ target=_blank class=infotextkey>本身有点INfotextkey>问题,这张图INggai/ target=_blank class=INfotextkey>应该左转90度,大家INggai/ target=_blank class=INfotextkey>应该就很用以理解了。

  也INfotextkey>就是INfotextkey>men/ target=_blank class=INfotextkey>我们经常使用的Master分支,INfotextkey>Hege/ target=_blank class=INfotextkey>这个分支最近INfotextkey>Com/yuanchuang/fabu/ target=_blank class=INfotextkey>发布到生产环境的代码,最近INfotextkey>Com/yuanchuang/fabu/ target=_blank class=INfotextkey>发布的Release, INfotextkey>Hege/ target=_blank class=INfotextkey>这个分支只能INfotextkey>其他分支合并,INfotextkey>Com/yuanchuang/buneng/ target=_blank class=INfotextkey>不能在INfotextkey>Hege/ target=_blank class=INfotextkey>这个分支直接修改

  INfotextkey>Hege/ target=_blank class=INfotextkey>这个分支是INfotextkey>men/ target=_blank class=INfotextkey>我们是INfotextkey>men/ target=_blank class=INfotextkey>我们的主开发分支,包含INfotextkey>所有要INfotextkey>Com/yuanchuang/fabu/ target=_blank class=INfotextkey>发布到下INfotextkey>一个Release的代码,INfotextkey>Hege/ target=_blank class=INfotextkey>这个主要合并与INfotextkey>其他分支,比如Feature分支

  INfotextkey>Hege/ target=_blank class=INfotextkey>这个分支主INfotextkey>要是用来开发INfotextkey>一个新的功能,一旦开发INfotextkey>Heng/ target=_blank class=INfotextkey>完成,INfotextkey>men/ target=_blank class=INfotextkey>我们合并回Develop分支进入下INfotextkey>一个Release

  Feature分支做完后,必须合并回Develop分支, 合并完分支后一般会删点INfotextkey>Hege/ target=_blank class=INfotextkey>这个Feature分支,INfotextkey>但是INfotextkey>men/ target=_blank class=INfotextkey>我们也INfotextkey>可以保留

  Release分支基于Develop分支创建,打完Release分INfotextkey>Com/yuanchuang/zhihou/ target=_blank class=INfotextkey>之后,INfotextkey>men/ target=_blank class=INfotextkey>我们INfotextkey>可以在INfotextkey>Hege/ target=_blank class=INfotextkey>这个Release分支上测试,修改Bug等。INfotextkey>同时,开发INfotextkey>人员INfotextkey>可以基于开发新的Feature (记住:一旦打了Release分支INfotextkey>Com/yuanchuang/zhihou/ target=_blank class=INfotextkey>之后不要从Develop分支上合并新的改动到Release分支)

  实际上,当你理解了上面的流程后,你完全不用使用工具INfotextkey>但是实际上INfotextkey>men/ target=_blank class=INfotextkey>我们大INfotextkey>部分人很多命令INfotextkey>就是记不住呀,流程INfotextkey>就是记不住呀,肿么办呢?

  上面讲了INfotextkey>HeINfotextkey>me/ target=_blank class=INfotextkey>这么多,我INfotextkey>知道还有人记不住,INfotextkey>那么又有人做出了GUI 工具,你只需要INfotextkey>点击下一步就行,工具帮你干这些事!!!

  INfotextkey>Com/yuanchuang/pINgguo/ target=_blank class=INfotextkey>苹果在2018年的春季INfotextkey>Com/yuanchuang/fabu/ target=_blank class=INfotextkey>发布会预计会于3月底召开,届时将会有很多设备INfotextkey>Com/yuanchuang/fabu/ target=_blank class=INfotextkey>发布。ishi/ target=_blank class=INfotextkey>其实从2016年开始,...[详细]

  INfotextkey>Com/yuanchuang/INfotextkey>meiri/ target=_blank class=INfotextkey>每日INfotextkey>头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。INfotextkey>各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博INfotextkey>期待您的关注。

标签:
    热门精选
    这个8月注定金融市场不平静:朝鲜试射导弹
    精彩话题