GIT补丁 - 或 - 推?

ran*_*ein 0 git branching-and-merging git-patch git-branch

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

  1. 开发人员向维护者发送补丁(可能最终会成为开发人员之一),他会使用补丁,测试和集成

  2. 开发人员将他们的提交推送到公共"开发人员"分支(项目的每个子模块的分支),维护者获取有关推送的邮件通知,并且可以审查\ test\integrate.

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

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

Set*_*son 6

为什么不提交拉取请求并处理它们呢?这就是他们对linux内核的处理方式.

公共共享开发人员分支的主要问题是获取您不想离开分支的东西.您不希望重新绑定已发布的共享分支,并且所有时间都恢复是丑陋的.普通补丁的主要问题是SHA在发送器和接收器之间不匹配相同的补丁(出于好的理由).如果我正在开发一个补丁邮件系统,我会考虑使用git-bundles来获得那些SHA.请注意,这是一种复杂的拉动方式.

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

您还可以查看gerrit和其他git代码审查工作流程.