最近,我一直在尝试在GitHub中进行开源协作,并且遇到了这样一种情况:我想知道什么是最好的方法。
大约一个月前,我在GitHub上为一个已经使用了一段时间的库找到了一个项目,并在其中发现(并修复)了一些bug。
作为对GitHub协作的一次初步尝试,我发现回购似乎是最近活动量最大的,修复了一个bug,添加了单元测试,推到了GitHub,并发出了一个拉请求。在几个小时内,我分叉的回购员已经接受了公关,并从其他等待的人那里合并了其他几个PRs。
在此激励下,我又修复了我发现的另外三个bug,每个bug位于我自己的回购程序的一个独立分支中,并分别提交了一个问题并对每个错误进行了请求。
那是一个多月前的事了,从那以后,拉力请求就一直在那里,没有被碰过。用户的回购我分叉似乎不是很活跃,在过去的一年里只在GitHub上做了7次总贡献,而且那个回购没有任何提交,自从我第一次请求拉请求。
所以我的问题是:
在这种情况下,如何进行呢?理想情况下,我希望避免创建库的碎片,方法是在我自己的回购中进行大量没有合并到父回购中的更改。尽管如此,我还是想继续进行bug修复和添加特性,但是如果我将所有内容合并到我的主分支中,并将所有新的修复程序都从该分支中删除,那么如果我分叉的回购程序的维护人员真的回来了,我将无法将所有的更改拆分为针对每个特性/ bug修复的单独的拉请求(我已经阅读过每个特性或bug修复通常应该是一个拉请求)。
我是否应该保持一个与原始回购一致的分支,将我所有的新分支建立在该分支之上,然后将所有提交合并到我的主分支中?这似乎会给我留下一整吨的分支和越来越繁重的任务,每次我需要将新的变化合并到我的主分支。
一个人对待这种情况的典型方式是什么?似乎是相当普遍的,一个项目将被抛弃,与原来的贡献者,而不是审查新的拉请求。在这种情况下,有人应该直接掌舵并执行吗?如果最初的贡献者返回并想要再次工作的话,它似乎会产生碎片。
发布于 2015-02-13 21:15:07
我还没有遇到过这种情况,但我会尝试这样做:
联系
也许他们真的失去了兴趣,但他们愿意把这个项目转让给其他人,特别是那些已经表现出体贴承诺的人。
但也许他们只是忙于其他事情(工作,假期,疾病,其他项目),没有时间处理你的公关,但计划在以后这样做。
或者他们真的因为任何原因而永久停止了这个项目的工作。
如果你不问,你就不会发现。
取得联系
当然还有其他人为这个项目做出了贡献,或者至少使用了这个项目。检查谁已经分叉了项目(即使他们没有做任何更改,他们可能仍然有兴趣看到这个项目蓬勃发展);检查谁报告了问题,或者评论了他们。也许在GitHub之外也有一个社区,例如邮件列表、论坛或StackOverflow成员。
我是你最终真的接管了这个项目,你可能需要他们的支持。他们需要知道新的主存储库在哪里。
这表明了业主和社区,你是认真的,让他们判断你的贡献。
发布于 2019-06-16 18:24:17
由于现在大多数小型到中型的免费开放源码项目都托管在github、gitlab或类似的网站上,所以可以使用它们的Web来自动化一些过程。
假设原始回购是在https://github.com/someUserX/projectY/进行的,这个过程可能如下所示:
projectY,其中叉出原始的回购-> https://github.com/projectY/projectY/https://softwareengineering.stackexchange.com/questions/273156
复制相似问题