背景:我有一个情况similar to this但那里的解决方案并没有解决我的问题。在 GitHub 上我 fork 了一个项目的 fork:
Original -> SomeonesFork -> MyFork
我从 SomeonesFork fork 出来以清理他们所做的一些更改并将 pull 请求发送回原始存储库。从那时起,我还直接向已接受的原始请求发送 pull 请求。
但是,我更希望我的 repo 是原始版本的直接分支,而不是有 SomeonesFork 中介。 (让 GitHub 上的事情变得更容易。)我将原始设置为上游并推送到我的分支,但 GitHub 仍然说它是 SomeonesFork 的分支。
如果我再次尝试 fork 原始文件,我只会被发送到已经存在的文件。从研究来看,GH 似乎不允许多个 fork 。
所以我的问题是:简单地删除我现在拥有的 fork ,然后重新 fork 原始版本是否安全?这会导致任何地方的 git 或 GitHub 出现问题吗?
最佳答案
Git 是一个分布式系统,在代码已提交或推送到的所有存储库中都有所有代码的副本。存储库之间的引用是提及 merge 提交来自何处的最小文本标志。它们之间没有真正的联系。
我过去在 github 上删除了很多分支,没有任何不良影响。 pull 请求作为补丁文件“发送”给仓库所有者。只需将 .patch
粘贴到 github 上任何 pull 请求或提交 URL 的末尾,即可以纯文本形式查看补丁文件内容。这是其他人针对我维护的项目提出的请求:https://github.com/j4mie/paris/pull/35.patch
因此它是自包含的,您删除您的复刻不会影响此补丁对上游仓库所有者的可用性。
关于git - 删除 GitHub 存储库的分支是否安全,当原始文件引用我的时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14124794/