繁体   English   中英

GIT补丁-或-推送?

[英]GIT Patches - or - Push?

我们正在考虑在新项目中使用git的两种方法:

  1. 开发人员将补丁发送给维护者(可能最终将成为开发者之一),他将这些补丁苹果化,进行测试和集成

  2. 开发人员将其提交推送到公共“开发人员”分支(该项目的每个子模块的分支),维护人员获取有关推送的邮件通知,并可以进行审核\\测试\\集成。

最终结果是相同的-包含开发人员提交的最新分支。

所以-我的问题是,哪个更好? 我应该由一个小组在非开源项目开发人员中使用吗? (听起来很奇怪,我向我旁边的那个家伙发送邮件补丁)

为什么不提交拉取请求并处理这些请求呢? 那就是他们对linux内核所做的事情。

公用共享开发人员分支的主要问题是从分支中获取了您不想要的东西。 您不想重新建立已发布的共享分支的基础,并且所有时间都很难恢复。 正常补丁程序的主要问题是,对于同一补丁程序,SHA在发送者和接收者之间不匹配(出于充分的原因)。 如果我正在开发补丁邮件系统,我会考虑使用git-bundles来获得那些SHA精确信息。 请注意,这是进行拉动的复杂方法。

另一种选择是使用gitolite(强制谁在共享分支上进行提交,以及不允许谁在共享分支上进行提交),并让开发人员在“功能”分支上工作(请参阅http://nvie.com/posts/a-successful-git-branching -model /和相关的gitflow命令),仅允许受信任的开发人员执行从功能分支到开发人员/主分支的合并。

您还可以研究gerrit和其他git代码审查工作流程。

正确的方法是分叉。 这意味着开发人员将克隆存储库,执行工作,完成后,他们将以某种方式与项目维护人员联系,以便他可以从外部存储库中提取新分支。

Github已在其UI中支持此功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM