GitHub:使fork成为一个“自己的项目”

时间:2013-08-22 20:28:56

标签: git github

我找到了一个很好的GitHub项目,我扩展了很多。我相信我的改变很好,因为他们正在努力。但似乎原作者没有时间审查这些变化并包含它们。事实上,我需要和实现的功能甚至可能不在原作者的视野中,我们只是针对不同的目标。我不知道,因为我从来没有得到他的回应。

那说我看到我的贡献不计入我的提交图。只要原始存储库不接受我的贡献,就是这种情况。此外,我的工作只被认为是工作,并没有吸引任何与我有相同愿景的人。对我来说这是一个更大的问题,因为我看到很多人要求这些功能。

我仍在为原始项目提供我的贡献,但我发现它们不太可能被接受。现在我想把我的叉子变成一个“真正的项目”。虽然我计划在某些时候与原始项目同步,但我想重命名它并激励人们为我的项目做出贡献。另外,如果GitHub表明该项目得到了积极维护(谈到提交地图),我很乐意。最后,我希望能够正确发布它。

我怎样才能完成这项任务,让我的叉子成为一个成熟的项目?

4 个答案:

答案 0 :(得分:66)

答案 1 :(得分:42)

为了做到这一点,你需要duplicate the repository。简短版本是:

  1. 在GitHub上创建一个新的存储库。
  2. 克隆要从其父级分离的分叉存储库。
  3. 将此克隆中的所有分支推送到新存储库。

答案 2 :(得分:2)

首先,您应该检查许可证是否允许您这样做,一般来说Open Source强制执行此操作,因为它完全是关于软件进化而不是链。如果是这样,那么只需创建一个新的回购。不要忘记归功于原作者并启动您的项目。

答案 3 :(得分:1)

这非常简单:

  1. 克隆该存储库位于某个地方:git clone git@github.com:USERNAME/REPOSITORY.git(请务必确保已克隆)
  2. 删除 GitHub中的存储库(“设置”>“选项”>“删除此存储库”
  3. 中创建一个新的空白仓库
  4. git remote set-url origin git@github.com:USERNAME/NEW_REPOSITORY.git(如果您为存储库使用了相同的名称,则NEW_REPOSITORY == REPOSITORY
  5. ggpush

(我使用ssh,但是如果您使用https,则github网址将类似于https://github.com/USERNAME/REPOSITORY.git