二次分叉仓库贡献时,应向原项目还是上游分叉提交Pull Request?
该选哪个仓库提交PR?给你几个实用建议
首先得明确两个核心点:原项目的活跃状态和你最初的贡献目标,这会决定你的最优选择:
如果你坚持想给segv11的原项目贡献
- 先确认原项目是否还在维护:看看它的最近提交记录、PR处理速度、issue回复情况。如果原项目已经几个月甚至半年没更新,维护者也没活跃,那你的PR大概率会石沉大海,这种情况下不如继续在osm0sis的分叉贡献更有价值。
- 如果原项目还在正常维护:
- 把你在osm0sis分叉里的修复提取出来——可以用
git cherry-pick把你的提交复制到基于原项目最新分支的本地分支,或者重新基于原项目代码写一遍修复(确保适配原项目的代码base)。 - 给segv11/boot-unlocker提交PR,在PR描述里说明你的情况:比如“我之前在osm0sis的分叉仓库完成了这些修复,由于我的初衷是支持原项目,现在提交到这里希望能合并”,这样维护者能清楚你的背景。
- 保险起见,可以先在原项目的讨论区或者issue里发个消息,问问维护者是否还接受外部贡献,避免做无用功。
- 把你在osm0sis分叉里的修复提取出来——可以用
如果你选择继续给osm0sis的分叉贡献
这其实也是非常合理的选择:
- 这个分叉本身领先于原项目,说明维护者osm0sis一直在跟进更新,你的贡献能直接被使用这个版本的用户受益,价值反而更高。
- 你已经成为该仓库的贡献者,维护者熟悉你的代码风格和能力,后续协作会更顺畅。
- 如果还是在意原项目,可以在PR里提一句,问问osm0sis是否愿意把你的修复反向同步到原项目,不过这取决于他和原项目维护者的沟通情况,不用强求。
总结
如果原项目还活跃且你执念于给原项目贡献,就同步代码提交PR;如果原项目已经停滞,不如留在osm0sis的分叉,让你的代码真正发挥作用——毕竟开源贡献的核心是让更多人受益,不是拘泥于某个仓库。
内容的提问来源于stack exchange,提问作者sziraqui
相关产品推荐
相关产品推荐

