8

背景:我有类似的情况,但那里的解决方案并不能解决我的问题。在 GitHub 上,我分叉了一个项目:

Original -> SomeonesFork -> MyFork

我从SomeonesFork 分叉,以清理他们所做的一些更改并将拉取请求发送回原始存储库。从那时起,我还直接向被接受的原始请求发送了拉取请求。

但是,我更希望我的 repo 是 Original 的直接分叉,而不是 SomesFork 中介。(使 GitHub 上的事情变得更容易。)我将原始设置为上游并推送到我的 fork,但 GitHub 仍然说它是 SomensFork 的一个分支。

如果我再次尝试分叉原件,我只会被发送到已经存在的那个。从研究来看,GH 似乎不允许多个分叉。

所以我的问题是:简单地删除我现在拥有的分叉,然后重新分叉原件是否安全?这会在任何地方的 git 或 GitHub 中引起问题吗?

4

1 回答 1

15

Git 是一个分布式系统,所有代码已提交或推送到的所有 repos 中的所有代码都有一个副本。存储库之间的引用是提及合并提交来自何处的最小文本标志。它们之间没有真正的联系。

我过去在 github 上删除了许多 fork,没有任何不良影响。拉取请求作为补丁文件“发送”给 repo 所有者。只需尝试.patch在 github 上的任何拉取请求或提交 URL 的末尾,以纯文本形式查看补丁文件内容。这是其他人针对我维护的项目提出的要求:https ://github.com/j4mie/paris/pull/35.patch

因此它是自包含的,你删除你的分叉不会影响这个补丁对上游 repo 所有者的可用性。

于 2013-01-02T15:55:06.810 回答