Quantcast
Viewing all articles
Browse latest Browse all 1638

如何管理一个大型开源仓库?

作者所在的飞冰(ICE)团队在 2018 年 2 月开源了 alibaba/ice这个仓库,经过不到一年的时间终于在 2018 年末达到了 1w+ stars 的里程碑,在管理这个仓库以及运营社区的过程中我们积累了一些或大或小的最佳实践,希望能分享出来帮助到其他开源或者没开源的 git 仓库管理者。

合理的拆分仓库

当我们说管理仓库的时候,其实面向的不是一个单一的仓库,而是一个产品、一个项目甚至一个业务,这背后可能会有多个仓库也可能只有一个仓库,因此在前期的规划上要尽量梳理清楚,核心避免两个误区:

误区 1:每个职责都建一个仓库

这个方案可能是多数人的直觉反应,但是这种方式会让产品对应的仓库数快速增多,导致长期管理成本陡增:

  • 仓库权限管理成本高且容易混乱
  • 代码开发提交成本高
  • issue/PR 太过零散,难以统计管理
  • ……

实际上,飞冰(ICE)原先在内部的时候,我们开发了很多业务组件,每个业务组件都是一个单独仓库,然后最近在做统一升级(工具、规范或者其他变更导致)的时候给我带来非常大的困扰:

  • 有的组件(仓库)已经不再维护但没有任何标记
  • group 权限管理太过松散导致出现一些跟官方无关的组件
  • 升级过程中需要频繁切换仓库操作

因此,我们需要避免过于零散的管理方式,结合实际场景做适当的聚合。


Viewing all articles
Browse latest Browse all 1638