代码之家  ›  专栏  ›  技术社区  ›  noah

如何管理提交者的层次结构(如Linux内核开发人员)

  •  4
  • noah  · 技术社区  · 15 年前

    我是Github回购项目的委托人。我有一个小团队的开发人员不能阅读或提交该回购协议。我想设置一个他们可以提交的Git服务器,它是GitHub repo的克隆。当他们进行提交时,我将检查它们,有时进行编辑,然后推到Github回购。

    我的问题是,由于我有时会更改他们的提交,那么将更改从Github拉回到我的克隆服务器以便每个人的历史不会被弄乱的最佳工作流是什么?

    编辑:为了澄清,我不一定意味着将编辑提交。但我可能需要删除/拒绝一些提交的提交(并可能创建新的提交来改进它们)。这将如何影响我下游的开发人员?

    1 回复  |  直到 14 年前
        1
  •  7
  •   Community Mohan Dere    9 年前

    如果我记得正确的话,Linux的管理方式与您所提议的稍有不同,因为有大量开发人员积极地为各种子系统做出贡献。

    每个主要的内核子系统都有一个“助手”,负责协调贡献给该子系统的开发人员的提交。每一个中尉都为他们的子开发人员的质量担保,并告诉Linus什么时候他们已经准备好从他那里进行更改。Linus是唯一拥有“主”repo提交访问权的人,然后一次提取一个更改。如果乔和鲍勃的副手之间有冲突,他会让乔从鲍勃那里退出并处理合并,然后再从乔那里退出。

    对于你的情况,我认为你所描述的是理想的。所有开发人员都可以拉/推的公共远程回购,允许他们处理冲突和合并。除了合并提交之外,实际上不需要更改提交,这应该为您完成。如果需要更改代码,可以创建新的提交,并将它们推送到公共Git repo中,以便开发人员将其拉下来。

    我不知道是否有任何安全的方法来更改存在于多个存储库中的提交。一旦你这样做了,你的存储库就出现了分歧,你将无法在没有 jumping through hoops .