gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 13:33:00 26 4
gpt4 key购买 nike

我是一个具有 GitHub 存储库的项目的提交者。我有一小组开发人员无法读取或提交该 repo 协议(protocol)。我想设置一个他们可以提交的 git 服务器,它是 GitHub 存储库的克隆。当他们提交时,我会审查它们,有时会进行编辑,然后推送到 GitHub 存储库。

我的问题是,由于我有时会更改他们的提交,将更改从 GitHub pull 回我的克隆服务器的最佳工作流程是什么,这样每个人的历史都不会被弄乱?

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

最佳答案

如果我没记错的话,由于大量开发人员积极为各种子系统做出贡献,Linux 的管理方式与您建议的略有不同。

每个主要的内核子系统都有一个“副手”,负责处理为该子系统做出贡献的开发人员的提交。每个副手都保证他们的子开发人员的质量,并在他们准备好从他那里 pull 更改时告诉 Linus。 Linus 是唯一拥有“master”repo 提交权限的人,然后一次 pull 他们的更改。如果中尉 Joe 和 Bob 之间存在冲突,他会告诉 Joe 从 Bob 那里撤回并负责 merge ,然后他会再次从 Joe 那里撤回。

对于你的情况,我认为你描述的是理想的。您的所有开发人员都可以 pull/推送到的公共(public)远程存储库,这使他们能够处理冲突和 merge 。除了 merge 它们之外,实际上没有任何需要更改提交,这应该为您完成。如果您需要更改代码,您可以创建新的提交并将它们推送到公共(public) git 存储库,供您的开发人员提取。

我不知道是否有任何安全的方法来更改存在于多个存储库中的提交。一旦执行此操作,您的存储库就会出现分歧,如果没有 jumping through hoops,您将无法推/pull 。 .

关于git - 如何管理提交者的层次结构(如 Linux 内核开发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com