抛弃GitFlow的8大理由

Git-flow 是一种分支和合并方法。十年前,因为一篇名为「一个成功的 Git 分支模型」的文章,Git-flow 变得广为人知。

在过去的十年里,无数团队被这篇博文蒙在鼓里。但我敢说,这篇文章撒谎了。

如果你读过这篇博文,你就会注意到,尽管作者声称他们在项目中成功使用了 Git-flow ,但却故意避开了让项目成功的细节。

公诉机关指控,2009年至2017年期间,被告人聂某在先后任贵州茅台酒销售有限公司副经理兼专卖店管理部经理、贵州茅台集团电子商务股份有限公司董事长期间,利用职务便利为全国各地茅台酒经销商在茅台酒销售方面谋取利益,分别收受刘某某、潘某某、岑某、刘某、谢某、冯某某、张某某现金、物品等,折合人民币价值金额49万余元。

此外,北京市城管执法部门出动全部一线执法力量,组织开展对施工扬尘、道路遗撒、露天焚烧、露天烧烤以及无照售煤等违法行为的执法,督促责任单位或个人增加洒水降尘频次。同时,按照“接诉即办”的工作要求,及时处理民众关于空气重污染类违法行为的举报。(完)

很多人会相信看到的博文,这其实是错误的。并非所有的策略都适用于所有情况,这是一个真理。我将同样的逻辑应用于这个分支模型。

贵州茅台酒股份有限公司董事会

重新定位合并节点是一个复杂的话题,但它很重要。如果你使用 Git-flow,你将不得不放弃 rebase。记住,rebase 取消了合并提交,你再也看不到两个分支组合在一起的节点。由于 Git-flow 的视觉复杂性,你需要可视化地跟踪分支,这意味着如果你想解决问题,就不需要 rebase。

同意:4 票;反对:0 票;弃权:0 票。议案获得通过。

在 git 中,随着在某个分支上工作人数的增加,发生合并冲突的次数将大大增加。在 Git-flow 中,这个数字增加得更多,因为还有三个具有不同生命周期的其他分支合并到开发中:特性分支、发布分支和紧急修复。合并冲突发生的可能性并不是线性变化的,它可能会使合并冲突的概率增加三倍。

根据有关法律法规的规定,本次交易方贵州茅台酒厂(集团)循环经济产业投资开发有限公司为本公司关联方,本次交易构成关联交易。本公司独立董事在会前同意将本项议案提交本次会议审议并发表了同意意见。审议本项议案时,与本项议案有关联关系的三位董事(李保芳、李静仁、王焱)回避了表决。

同时,北京市城市管理部门按照“洗、扫、冲、收”新工艺开展规范作业,并增加1次作业频次。对纳入应急清单的重点道路,每日开展1次及以上洗地作业。共出动环卫专业作业人员3.5万人次,作业车辆超5千余车次。

贵州茅台集团电子商务股份有限公司作为茅台集团唯一的官方线上营运商,是白酒业内少数拥有自主知识产权和自建专业技术团队的企业。目前主营业务是通过官方线上销售茅台集团旗下酒类产品。经营模式有B2B、B2C及O2O等。除茅台商城和茅台微商城外,还运营了包括天猫、工行融e购等十几家第三方平台的官方旗舰店。

2019 年 12 月 9 日,贵州茅台酒股份有限公司(以下简称本公司)以派

“因为我们药店是武汉市医疗保险定点药店,可以刷医保卡支付,很多市民从很远的地方骑自行车来我们药店。”该药店一名工作人员说。

虽然我不敢说不采用 Git-flow 这样的分支策略就可以避免合并冲突,但是当所有这些分支组合在一起时,引入的潜在复杂性太大了,无法忽略。如果你们公司的代码提交速度很慢,那就没关系。但是对于任何快速迭代的组织或初创企业来说,情况并非如此。

另一方面,如果你的团队有 20 多人进行并行发布,那么 Gitflow 可以确保不会把事情搞砸。

如果你的团队每月或每季度发布一次,并且是一个并行处理多个发布的团队,那么 Git-flow 可能是一个不错的选择。如果你的团队是一个初创企业,或者是一个面向 internet 的网站或 web 应用程序,同一天可能发布多个版本,那 Git-flow 对你来说就不合适了。如果你的团队是一个不到 10 人的微型团队,Git-flow 会给你的工作带来太多的规矩和开销。

案情提示:被告人聂某,中共党员,研究生学历,原茅台电商公司董事长、法定代表,原本拥有一片光明的坦途,却为了一己私利选择走上犯罪的道路,既是无视党国法纪的行为,又断送了自己奋斗多年的成果。作为曾经茅台集团的高管,人生可谓登上了巅峰,聂某将茅台酒销售搭上电商发展的热潮也曾风光一时,但是这双“卖酒的的手”最终变成“拿钱的手”,让他悔不当初!

Git-flow 违反了「短命」分支规则

整个分支模型是根据可预测的、长期的发布周期进行预测的。如果每隔几分钟或几小时发布一次新代码,开销就太大了,更不用说 CD 的中心实践之一是向前滚动修复。Git-flow将修补程序视为一个单独的实体,需要小心地控制,并与其他工作分离开来。

持续交付是一种实践。在这种实践中,团队以自动化的方式直接发布到生产中(实际上是合并到 master)。看看混乱的 Git-flow,你能解释一下如何持续地交付吗?

关键在于,团队需要反思:这个分支模型将帮助我们解决哪些问题?会产生什么问题?这种模型将鼓励什么样的发展?我们想鼓励这种行为吗?使用分支模型的最终目的都是方便软件开发过程中的合作,因此,需要考虑使用它的特定人群的需求,而不是互联网流传的「成功」的东西。

药店前排起长队,一位顾客告诉记者,自己排了一小时后买到口罩。

作为唯一官方线上营运商,曾被寄予厚望

原董事长聂永受贿49万余元,获刑3年2个月

一、董事会会议召开情况

你有没有尝试过这样一个复杂的分支模型:它有多个团队,并且希望它们都在同一个页面上?这是不会发生的。很快,这个系统就变成了不同 repo 的不同版本的一个清单,只有敲出 YAML 来更新清单的人知道所有东西在哪里。如果你不够细心,「在生产什么」就变成了一个存在主义的问题。

公告中称,贵州茅台持有电商公司 25%的股份,茅台电商解散对本公司整体业务的发展和财务状况不会产生重大影响。

湖北智仁大药房球场街店内共有五名工作人员,其中负责给顾客结算、拿药、装药的三名人员身着防护服、佩戴口罩,另外还有两人在店内搬运、整理物品。店外不时有货车开来运送物资。

根据有关法律法规的规定,电商公司其他股东中国贵州茅台酒厂(集团)有限责任公司、贵州茅台酒厂(集团)习酒有限责任公司、贵州茅台酒厂集团技术开发公司、贵州茅台酒厂(集团)保健酒业有限公司、贵州茅台酒厂(集团)昌黎葡萄酒业有限公司为本公司关联方,本公司与上述关联方共同解散电商公司事宜构成关联交易。本公司独立董事在会前同意将本项议案提交本次会议审议并发表了同意意见。审议本项议案时,与本项议案有关联关系的三位董事(李保芳、李静仁、王焱)回避了表决。

会议同意,本公司向贵州茅台酒厂(集团)循环经济产业投资开发有限公司采购有机肥,用于茅台酒有机高粱基地高粱种植,交易金额约为2,859 万元。

根据北京市生态环境监测中心数据,截至15日15时,北京市首要污染物为PM2.5,空气质量为轻度污染。北京市生态环境监测中心建议,儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼。

好吧,你们当中的一些人不相信这个真理,所以让我们深入研究为什么 Git-flow 分支模型应该葬身火海。

北京市生态环境、公安交管部门聚焦38个进京口、市内重点道路,共人工检查重型柴油车1万余辆次,处罚319辆次。公安交管部门加大对货运车辆违法行为的监控,设立货车卡控岗79处,最大限度组织警力上路,全面开展重点车辆查控工作。

2015年,为实施“互联网+”和“大数据”战略,公司着手打造集B2B、B2C、O2O和P2P等营销模式于一体的“茅台集团物联网云商平台”。致力于构建线上线下协同营销体系,促进传统品牌与互联网的充分融合升级,有效提升消费者购物体验。实现传统营销与线上分销相结合、众筹与团购齐发展、溯源防伪保真护航、酒文化交流和传播、消费者与企业(经销商)良性互动。

Git-flow 使连续交付变得不可能

会议同意,本公司参股公司贵州茅台集团电子商务股份有限公司(以下简称电商公司)解散并进行清算注销,本公司将在电商公司股东大会行使股东权利,表决同意电商公司解散等相关议案。本公司持有电商公司 25%的股份,电商公司解散对本公司整体业务的发展和财务状况不会产生重大影响。

雷锋网雷锋网(公众号:雷锋网)雷锋网

在多个存储库中不可能使用 Git-flow

我不能回答。并非所有分支模型都适用于所有团队和所有情况。如果你练习 CD,你需要一些尽可能简化过程的东西。

式召开,应出席会议的董事 7 名,实际出席会议的董事 7 名。会议的召开符合《公司法》等法律、法规和相关规章以及本公司《章程》的规定。

因此,如果由于协调发布的困难而取消了 micro-repo,那为什么不让所有微服务团队都遵守一个大的发布分支工作流呢?

这个过程大约持续 3.2 秒。如果团队是独立的,micro-repo 应该是独立部署的,这样就不能很好地将你的工作流程与你在 mono repo 中创建的集中式分支模型联系起来。

Git-flow 特别复杂,甚至在考虑微服务或连续交付之前就已经如此了。下面的图片直观地展示了这一点:

这里有特性分支、发布分支、master 分支、dev 分支、一个紧急修复分支和 git 标记。这些都是在构建和发布过程中必须跟踪、理解和考虑的事情。

二、董事会会议审议情况

今日,贵州茅台发布公告称,贵州茅台参股公司贵州茅台集团电子商务股份有限公司(以下简称:茅台电商)解散并进行清算注销,公司将在电商公司股东大会行使股东权利,表决同意电商公司解散等相关议案。

专人送达或传真的方式,向全体董事发出召开第二届董事会 2019 年度第九

更重要的是,你还需要随时跟踪每个分支,这造成了很高的认知负荷。我已经使用 git 10 年了,我甚至不确定自己是否能在精神上跟上这里的发展。

(二)《关于采购有机肥的议案》

(一)《关于参股公司解散的议案》

随着微服务的出现,micro-repo 的理念也得到了更多的推动,各个团队可以控制他们的存储库和工作流,他们还可以控制谁进入了他们的存储库以及其工作流是如何工作的。

以下为贵州茅台第二届董事会2019年度第九次会议决议公告全文:

如果不应该使用 Git-flow,那应该用什么?

为最大程度缓解污染过程,北京市已加大执法检查力度。

本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、准确性和完整性承担个别及连带责任。

法院审理认为,被告人聂某无视国法,身为国家工作人员,侵犯国有企业的正常工作秩序和国家的廉政建设制度,利用职务上的便利,非法收受他人贿赂,为他人谋取利益,已构成受贿罪,依法应负刑事责任。

第二届董事会 2019 年度第九次会议

雷锋网版权文章,。详情见转载须知。

“来药店的大多数市民都是来购买口罩和酒精的。口罩一包10个,25元一包,不限购;酒精一瓶60毫升,30元一瓶,每人限购5瓶。”该药店一名工作人员告诉记者,前两天该店的口罩、酒精都断货了,今日刚到货。

同意:4 票;反对:0 票;弃权:0 票。议案获得通过。

据企查查信息显示,贵州茅台集团电子商务股份有限公司成立于2014年6月,注册资本壹亿元,是茅台集团为充分整合集团内部资源和线下实体、满足市场发展需求、推动传统营销模式调整转型而发起成立的控股子公司。

庭审现场,经控辩双方质证辩论,对被告人聂某受贿罪一案作出判处有期徒刑三年二个月,并处罚金人民币20万元,犯罪所得现金、物品予以没收上缴国库的判决决定。

贵州茅台酒股份有限公司

次会议(以下简称会议)的通知。2019 年 12 月 16 日,会议以通讯表决方

推广:猎云银企贷,专注企业债权融资服务。比银行更懂你,比你更懂银行,详情咨询微信:zhangbiner870616,目前仅开通京津冀地区服务。

记者在现场注意到,由于排队人数多、等候时间长,有顾客提出,“能不能都使用现金结算,刷医保卡的太浪费时间”,店内一工作人员拒绝了这一要求。“按照规定,医保定点药店必须接受顾客使用医保卡支付。”他说。