git 如何在不关闭pull request的情况下将pull request合并到master

ryoqjall  于 2023-11-15  发布在  Git
关注(0)|答案(3)|浏览(152)

假设我有一个分支demos,它的存在是为了针对master中的任何内容创建演示代码。我希望demo分支的提交能够频繁地ping每个人,通常是通过pull请求的一部分。
也就是说,我创建了分支demos和分支的初始提交,然后从它发出一个pull请求。我想把它合并到master,但也要保持pull请求打开,这样当新的提交被推送时,它们只是在同一个pull请求上变成更多的提交。
这似乎并不容易实现--一旦我手动将demos合并到master,它就会自动“关闭”github上的pull请求。但现在我想在同一个demos分支中添加更多更改,并提交和推送,只是让它ping每个关心demos的人作为同一个pull请求的一部分。
有时在git中做简单的事情是错误的(比如使用pull),但规则通常是,如果你特意去做一些git不自然做的事情,那么你可能使用错了。
我想以一种被git社区和最佳实践认为是好的方式来处理这种情况。但同时它似乎是一个非常明显的用例:一个pull请求,提醒其他人从分支中获取更改,但在合并后不认为请求“完成”。一个正在进行的pull请求。
我可以一直生成一个新的pull request,但是它并没有保持不同的demos提交在逻辑上连接在一起,就如何在github上显示和提醒人们而言。在提交级别,对demos的更改彼此不同,甚至可能是来自不同作者的非常不同的事情。但是在pull request级别,我希望它看起来像“所有的时间,当任何人都有东西推通过demos它来通过这一个拉请求。”
这个工作流程的不足之处是什么?为什么在git中从PR合并时它不是一个选项?

lqfhib0f

lqfhib0f1#

我不确定我是否完全理解,但我不认为一个pull request是处理你的用例的理想方式。Github pull request是Github的一个功能,他们已经做了,一旦提交合并到仓库中,它就会关闭PR。
一个pull request,顾名思义,就是一个请求将一组特定的提交拉入到那个仓库中,一旦它们被合并进去,它就会自动关闭。
如果你在Github上,一个Issue可能适合你的需要来协调这一点,你可以在每个pull request中引用它。如果你在一个不同的bug跟踪系统上,比如Bugzilla或Trello或任何你想要的,一个长期运行的ticket可能是最好的。
这可能不是那么准确,因为我不完全确定我遵循了你想做的事情,如果是这样的话,我道歉。

wydwbb8l

wydwbb8l2#

你有没有试过,从主, checkout 所有文件从演示分支?这将移动所有文件到暂存区,你可以在主提交。我的意思是.

git checkout master
git checkout demos ./path
git commit -m 'feat: merge code from demos without merging'

字符串
这将使你的公关空,但我认为公关将保持开放。

b91juud3

b91juud33#

由于没有公认的解决方案,我建议其他人可能正在寻找类似的东西。看看GitHub的Webhook功能,我认为它比pull requests更适合OP试图实现的目标。使用它,您可以将提交报告到另一个系统,如AWS SNS,twitter,IRC等,观察者可以订阅更新。
可以在https://github.com/github/github-services/tree/master/lib/services上找到第三方服务挂钩的列表

相关问题