2014-04-04 23 views
1

假设我有一个分支demos,它存在用于根据master中的任何内容创建示例代码。我希望demo分支的提交可以非常频繁地ping每个人,通常是通过拉入请求的一部分。如何在没有关闭拉取请求的情况下从拉取请求合并到主数据块

也就是说,我创建了分支demos和分支的初始提交,然后从它提出了一个pull请求。我想将它合并到master,但也要保持拉开请求的打开状态,以便在提交新提交时,它们只会在相同的拉取请求上变成更多提交。

这似乎并不容易实现 - 一旦我手动从demos合并到master,它会自动“关闭”github上的请求。但是现在我想为同一个demos分支添加更多更改,并提交&推送,只需将所有关心demos的人都作为同一请求的一部分进行ping。

由于这样做并不容易,这让我觉得这是错误的。有时候在git上做这个容易的事情是错误的(例如使用pull),但是这个规则通常是,如果你想要做一些git自然不会做的事情,那么你可能会错误地使用它。

我想以一种被git社区和最佳实践认为是好的方式来处理这种情况。但同时它看起来像是一个非常明显的用例:一个拉取请求来提醒其他人从分支中获取更改,但不会在合并之后将请求视为“完成”。正在进行的拉动请求。

我可以一直生成一个新的拉取请求,但它不会保持不同的demos提交在逻辑上连接在一起,就如何显示在github上并提醒人们。在提交级别,对demos的更改彼此不同,甚至可能来自不同作者的非常不同的东西。但在拉请求层面上,我希望它看起来像“任何人都有东西通过demos推动它通过这个拉请求。”

该工作流程的缺陷是什么,为什么从git中的PR合并时它不是一个选项?

+0

发现,你能不能做到'GIT中检出主; git合并分支/ with/pull/request'? – Sam

+1

这会自动关闭打开的PR。也许有一个设置来禁用它? – ely

+0

我怎么从未注意到这个..... – Sam

回答

0

我不完全相信我遵循,但我不认为单个请求是处理您的用例的理想方式。 Github的pull请求是Github的一个特性,他们已经做好了这些准备,一旦这个commit被合并到版本库中,它就会关闭该PR。

拉入请求,凭借这个名字,是有一组特定的犯下拉到仓库的请求时,它会自动关闭自动关闭,一旦他们正在合并。

如果你在Github上,问题可能适合您的协调需求,并且您可以从每个拉取请求中引用该问题。如果您使用Bugzilla或Trello等不同的错误跟踪系统或任何您想要的方式,那么长时间运行的票证可能是最好的。

这可能不是那么准确,因为我不完全确定我遵循了你想要做的事情,如果是这样的话,我很抱歉。

+1

这是“自动关闭他们”的一部分,我没有得到。为什么在合并之后没有选择让PR公开?是的,PR最初提到了一个提交块,但也许以后我会想要同一个正在进行的,永无止境的,始终未决的PR来引用该分支中发生的任何更多提交。它为提交线性可视提供了一个很好的位置,并且很容易配置来ping每个人。 – ely

+0

当然,我可以在每次有一个提交块在该分支上共享时使用单独的PR,但这样他们看起来就像是不同的事件,而不是同一代码区域内的一个有机增长流。 – ely

+0

拉取请求是针对要合并到主存储库中的特定有限的一组提交的请求。长期运行的合并集合最好在不同的功能中处理,比如bug跟踪票据或Github Issue,因为根据定义,一旦提交的提交被合并到存储库中,就会完成一次请求。请注意,您不必将它合并到'master'中,您可以将它合并到'demo'中,然后将它合并到'master'中,并将'demo'保存在repo中,并使用这些提交的日志。 – Leigh

0

由于没有可接受的解决方案,我会为任何可能正在寻找类似的东西的人提出建议。看看GitHub的Webhook特性,我认为它更适合于OP所要达到的要求。使用它可以将提交报告给另一个系统,例如AWS SNS,twitter,IRC等,观察者可以订阅更新。

第三方服务挂钩甘蔗的列表只是阅读标题后 https://github.com/github/github-services/tree/master/lib/services