阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

淘宝陈皓微博引发关于 Git 和 GitHub 讨论

  • 2013-02-18
  • 本文字数:2131 字

    阅读完需:约 7 分钟

2 月 18 日,已经转战淘宝的著名技术人陈皓发布了一条微博,对淘宝内部的共享开放平台提出自己的见解:

今天了解了一下淘宝的共享开放平台,感觉面对阿里内各种特殊异化的业务的需求,再加上各种降权开关,性能优化,这个平台要干的事越来越复杂,承载的业务逻辑越来越多,越来越不好维护。采用服务化模块化的解耦可以做到灵活性,但是还是不够。感觉可能需要像 Linux+Git 的方式才能适应高速开发。

他又补充了一条微博,指出:

可尝试使用 Linux+Git 的方式,让各个业务团队把代码 fork 过去自行定制,一些定制过后的有价值的代码稳定后可以回到主干,各个 fork 出去的分支可以互相 merge。而当主干代码升级后,各个 fork 出去的代码同样可以享受主干的升级。只有 Git 可以干这样的事。(不过,这需要对代码有强大掌控能力的团队)

同在淘宝工作的拔赤认为:

淘宝里舍得花时间玩 git 的人太少了

虽然淘宝千丫指出:“咱有 git 的”,但拔赤说:

嗯,多数人仅仅拿 git 存代码,真真有些浪费啊,呵呵 对此,淘李福认为: 你说的挺对,不过目前的困难主要还是代码安全的问题,很多工程师想用 git,但是没有内部开源就不能自由 fork 淘宝玉伯: 如果能推动公司购买 GitHub 企业版就好了,很多问题都可以解决,很多内部平台都可以节省掉。我试着推动过公司去购买,最后集团只搞了个半残的免费的 GitLab …… 企业版不是将代码存放在 GitHub 网站上,而是在内网部署一个 GitHub,代码很安全,就如我们安装 Jira、Confluence 等软件一样。 …… 小团队不用购买企业版,开通私有库就好。目前我自己掏银子给团队买了些私库用,实在不想折腾公司的 SVN。

敲代码的张洋提到:

我也曾多次吐过这个嘈。不过我这种小啰啰也就是想一下而已。力荐 Github 企业版啊

同在淘宝的玄澄的问题是:

具体可以替代哪些内部平台?

淘李福回复:

目前 github + trello + travis + puppet + capistrano 可以符合研发过程的全部需求,唯一的缺失环节是联调和系统测试环节的自动化,这块我们正在尝试

玉伯也指出:

和程序员相关的平台基本都可以用 GitHub 企业版替代,比如源码管理、文档、QC、CR、CI,甚至发布、管控等都可以。其实我觉得阿里味也可以用 GitHub 企业版替代。

不仅仅是淘宝,豆瓣也有人出现, andyh 说:

豆瓣内部有 code,高仿 Github,今天一周岁。

在知乎上,可以搜索到豆瓣负责技术管理的耿新跃在 2012 年 4 月发布的一段话:

豆瓣在用 git,不过历史遗留的东西还在 svn 里,某些原因导致迁移到 git 上还有困难 (比如我们目前有些地方依赖 svn 的目录级权限控制),在逐步解决中

另外,我们不单用了 git,还用 github 发布开源项目,内部还买了 github enterprise 用作日常开发,大家用 pull request 的方式来实现 code review 和交流,效果不错。

当然,github enterprise 比较贵,我们目前只在部分团队用,同时我们在尝试自己做一个类似的东西,基本上是在 trac 基础上增加 github 的功能。

对于陈皓提出的 Linux+Git 方案,火星前哨站 3 的看法是:

要求相当高,不光是代码掌控能力,还包括架构设计能力

onedear 提出一个问题:

有价值的代码回到主干, 这个是否有专门的人来做这个工作?

余肖誉回复:

一般是权威人做的工作,这个世界,这个工作做得最好的是 Linus Torvalds 本人

Row_Li 已经认识到了这样做的关键:

跟咱们很神似,不过咱们没有相关团队掌控代码。最终弄成现在不堪入目。基本不想看那鸟代码第二遍

@ deljuven 有同样看法:

这是个理想的状态,需要许多人一直持续不断的努力~~ 但是觉得能把分支理顺的人实在太少了 == 说句实在话,我一直觉得我们的分支太少了 ==

morejam 建议:

这个陈首席应该有经验,搞网络设备的,各种开局,各种新需求各种从主线拉分支。

对此,陈怀临回应

这个 TOT 和 Branch 的研发代码的问题,是个很复杂的事情 …… branch 之间不能做 merge。branch 出现一定要去“死”。必须保证 TOT clean,回 TOT 要手工 sync。

小米科技米聊产品研发经理瞿晋萍认为:

用 Git? 由此造成的多版本问题在快速开发,各个业务组独立发展的情况下会不会得不偿失?还是传统点,基于一个与业务无关的 framework/mechanism, 各个业务在上面开发 plugin/policy

丸子常在的一句话可作为本文的总结:

中国和美国软件企业的真正差距之一,软件要拥有优秀的管理设计思想才可以应对未来复杂的业务需求 ,要不然基本上就会这样,越做越复杂,越做质量越差,越做需要的精力越大。

大家都在提 GitHub 的企业版,不妨让我们看看 GitHub 企业版都提供哪些功能:

  • 代码审查:其中包括未来风格的代码审查、评论提交、分支分析、对比视图等功能。
  • 团队管理:30 秒即可让用户访问代码,不需 SSH key,同时提供进度信息主动更新。
  • 工业标准的 OVA:OVA 是 Open Virtualization Format(简称 OVF)的一种实现,OVF 是一种开放标准,用来定义对虚拟机中运行的虚拟应用和软件进行打包和分发的标准。GitHub Enterprise 版本以 OVA 格式分发,兼容 VMware 和 VirtualBox。
  • 企业级的安全性:通过启用 SSL 和私有模式,强制整个团队使用最安全的连接。
  • LDAP 和 CAS 集成:GitHub Enterprise 版本可以直接集成到支持 LDAP 和 CAS 团队管理的基础设施中。

当然,还有出色的社区支持。

目前,GitHub 企业版的知名用户包括:暴雪、Rackspace 和在线交易网站 Etsy。

2013-02-18 18:5913920
用户头像

发布了 479 篇内容, 共 152.3 次阅读, 收获喜欢 47 次。

关注

评论 1 条评论

发布
用户头像
这个广告
2019-04-16 11:37
回复
没有更多了
发现更多内容

最短路径算法

Dobbykim

算法 图论

网络架构知识总结

十二万伏特皮卡丘

老式月饼是一块坚硬的乡愁

石君

自我成长 乡愁

【LeetCode】删除无效的括号Java题解

Albert

算法 LeetCode 10月月更

在线图片水平/垂直均等切割工具

入门小站

工具

谈 C++17 里的 Strategy 模式

hedzr

c++ 设计模式 策略模式 Design Patterns c++17

🏆【Spring技术专题】「动态代理技术」Spring框架中Aspectj和LoadTimeWeaving的动态代理技术实现指南

洛神灬殇

spring aop 动态代理 LTW 10月月更

一分钟搞懂FAST Agile

俞凡

敏捷 10月月更

关心你的团队,这才是最有效的管理技巧

俞凡

管理 10月月更

【云原生】:一文读懂Docker核心技术

息之

Docker 云原生

【Zookeeper技术专题】从Paxo算法出发认识一下Zookeeper

洛神灬殇

PAXOS ZooKeeper原理 paxos协议 Paxo 10月月更

Scrum Patterns:Sprint回顾(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

计算架构模式之接口篇

十二万伏特皮卡丘

【Flutter 专题】三步搞定会转的饼状图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 引航计划 10月月更

管理者如何带团队?

石云升

团队管理 管理 引航计划 内容合集 10月月更

004云原生之服务化架构

穿过生命散发芬芳

云原生 10月月更

每天学习使用代码片段(八)

devpoint

JavaScrip 10月月更

Object.defineProperty的缺点及Vue3为什么用Proxy

wudaxue

学生管理系统 - 考试试卷存储方案

紫云

架构实战训练营|课后作业|模块5

Frode

「架构实战营」

一篇文章带你了解Android 最新Camera框架

小驰笔记

android 音视频 camera

【Flutter 专题】40 日常问题小结 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

JavaScript 中的文档对象模型 DOM

devpoint

CSS html DOM 10月月更

Minerva -- Airbnb的大规模数据指标系统 Part 3

俞凡

架构 Airbnb 大厂实践 指标 10月月更

上次写作还是在上次之——WebRTC(一)

Zoomdaa

WebRTC

SpringMVC源码分析-HandlerAdapter(5)-SessionAttributesHandler组件分析

Brave

源码 springmvc 10月月更

ssh常用命令总结

入门小站

Linux

9月,一些感慨

程序员架构进阶

自我提升 管理者 软技能 总结思考 10月月更

漫游语音识别技术——带你走进语音识别技术的世界

攻城先森

深度学习 音视频 nlp 语音识别

团队管理之如何成为核心员工

小诚信驿站

团队管理 管理 引航计划 内容合集

3. 有点难~ Python函数式编程中 itertools 模块

梦想橡皮擦

10月月更

淘宝陈皓微博引发关于Git和GitHub讨论_GitHub_郑柯_InfoQ精选文章