NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

淘宝陈皓微博引发关于 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:5913923
用户头像

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

关注

评论 1 条评论

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

在 AWS 上运行 CAE 工作负载的五个原因。

亚马逊云科技 (Amazon Web Services)

产品 计算机

轻盈潇洒卓然不群,敏捷编辑器Sublime text 4中文配置Python3开发运行代码环境(Win11+M1 mac)

刘悦的技术博客

Python ide 编辑器 Python3 Sublime

突破数据分析瓶颈,寻因生物单细胞测序数据分析迈入云时代

阿里云弹性计算

虚拟化 持久内存 基因测序

教你VUE中的filters过滤器2种用法

CRMEB

Kubernetes官方java客户端之三:外部应用

程序员欣宸

Kubernetes java client

直播预告 | 如何在有限数据下实现资讯类网站海量信息自动分类

百度开发者中心

【直播回顾】OpenHarmony知识赋能第四期第四课——音频驱动开发

OpenHarmony开发者

OpenHarmony HDF框架 音频驱动开发

10年资深架构师分享 | 普通程序员向架构师进阶之路

云智慧AIOps社区

程序员人生 高薪 架构师 技术分享 职场发展

阿里云:已有10000家企业在云上构建数据湖

Apache Flink

云计算 阿里云 数据湖 云原生

web前端培训-检测Javascript类型的4种方式

@零度

JavaScript 前端开发

“远见者”特斯拉AI主管Karpathy|深度学习崛起十年

OneFlow

人工智能 深度学习 计算机视觉 特斯拉 openai

Java培训-实现定时任务的几种方式

@零度

Java

腾讯AI Lab姚建华博士当选 2022 美国医学与生物工程院会士

科技热闻

车载小程序快马加鞭突围车联网生态系统

FinClip

设备资产管理系统解决方案

低代码小观

资产管理 CRM系统 企业设备管理 设备巡检管理系统 企业管理软件

对话LigaAI创始人周然:在研发SaaS赛道,「颠覆」Jira | PLG十人谈

LigaAI

SaaS LigaAI 研发协作平台

TiFlash 开源了

PingCAP

产品知识在线培训的解决方案

小炮

企业知识管理

Linux下网络编程-UDP协议探测在线好友

DS小龙哥

4月月更

DevEco Device Tool 3.0 Release新版本发布,支持多人共享开发、源码级调试

HarmonyOS开发者

HarmonyOS DevEco Device Tool

开发者手册之如何成为 OceanBase Contributor

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版

清华自研时间序列数据库Apache IoTDB原理解析

云智慧AIOps社区

数据库 时序数据库 消息队列 智能运维

架构标准TOGAF实践最重要的三件事

博文视点Broadview

【直播回顾】OpenHarmony 知识赋能第四期第四课——音频驱动开发

Anna

OpenHarmony

We are learning by contributing!访 StarRocks Committer 周康、冯浩桉

StarRocks

数据库 开发者社区 StarRocks

恒源云(Gpushare)_如何防止训练不中断?技巧大放送1!

恒源云

算法 服务器 训练

企业实施知识管理的建议

小炮

企业知识管理

博文推荐|深入解析 BookKeeper 多副本协议(一)

Apache Pulsar

开源 云原生 中间件 bookKeeper Apache Pulsar

大数据培训-如何连通 Hive 数仓和ClickHouse

@零度

大数据 hive Clickhouse Seatunnel

模块二作业

HZ

架构实战营 「架构实战营」

高效使用Java构建工具,Maven篇|云效工程师指北

阿里云云效

云计算 maven 阿里云 java 并发 构建工具

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