在 Github 中重新附加“分离”分叉?

问题描述 投票:0回答:3

我想知道是否有办法重新附加 GitHub 中的“分离”存储库?

活动顺序:

  1. 从我所属的组织分叉了一个私有存储库
  2. 父级私有存储库已公开
  3. 我也公开了我的分叉存储库(或收取费用)
  4. 现在,当我希望提交拉取请求并合并一些更改时,我注意到我的分叉已与父存储库“分离”(请参阅此解释并确认原因

这个叉子还有“重新连接”的希望吗?或者我是否重命名我的存储库,再次分叉,然后复制代码?

欢迎任何建议。

git github
3个回答
14
投票

感谢@saeedgnu 优雅而完美的建议。解决方案是:

  1. 确保从个人独立的 fork GitHub 存储库中提取并更新本地 git 存储库
  2. 删除个人、分离的 fork GitHub 存储库
  3. 在 GitHub 上重新分叉存储库
  4. 关键:本地 git 存储库仍然指向正确的 GitHub 存储库。它具有来自现已删除、分离的 GitHub 分支的当前代码,因此您可以推送更改(并继续提交拉取请求),就像什么都没发生一样!

唷。危机得以避免。


8
投票

删除存储库的答案是破坏性的,并且会丢失开放拉取请求中的任何进度和评论。

最好的解决方案是通过支持消息联系 GitHub,选择附加分离重新路由分叉。 GitHub 将为您完成更改,时间从 30 分钟到 1 个工作日不等。


0
投票

我会根据这篇文章提供稍微改写的解决方案。 第一个假设是,在这种情况下执行任何回购步骤之前,您已经将所有提交推送到了应有的位置。另一个假设是您正在使用遥控器“原点”和“上游”(对于这篇文章来说已经足够了)

  1. 重命名现有分离的存储库,因为您可能想要回收新分叉的存储库的名称。
  2. 创建您需要的存储库的全新分支。
  3. 重命名您的原始引用以匹配步骤 1 中重命名的存储库,假设为“origin-old”
  4. 添加与步骤 2 中新分叉的存储库相匹配的新源远程引用
  5. 将您需要的任何内容从旧原点推送到新原点
  6. 现在您可以发出拉取请求。

没有任何破坏性操作,您拥有所有 3 个可用的存储库,按照常规的远程命名约定,您可以将任何您想要的东西从一个地方推送到另一个地方。

当您确定没有丢失任何内容时,您可以安全地删除旧的、分离的存储库。

© www.soinside.com 2019 - 2024. All rights reserved.