如何将git分支转换为fork?

如何将git分支转换为fork?,git,github,git-branch,Git,Github,Git Branch,我在我的GitHub repo:中创建了一个分支,因此现在有两个分支:“主”和“单线程”。我现在意识到,我永远不想将“单线程”合并回“主线程”中,并且希望独立地维护每个分支,尽管有时我会希望从一个分支到另一个分支中挑选代码位 如果分支被意外地合并,那将是灾难性的(虽然当然不会是灾难性的,因为我可以随时返回——它是在源代码管理中) 我觉得我应该做的是把这个项目交给另一个回购协议。(这样我仍然可以通过拉取请求进行樱桃采摘) 我现在该怎么办?以下是我该怎么做: 将FalconUp分叉到新的存储库中(使

我在我的GitHub repo:中创建了一个分支,因此现在有两个分支:“主”和“单线程”。我现在意识到,我永远不想将“单线程”合并回“主线程”中,并且希望独立地维护每个分支,尽管有时我会希望从一个分支到另一个分支中挑选代码位

如果分支被意外地合并,那将是灾难性的(虽然当然不会是灾难性的,因为我可以随时返回——它是在源代码管理中)

我觉得我应该做的是把这个项目交给另一个回购协议。(这样我仍然可以通过拉取请求进行樱桃采摘)


我现在该怎么办?

以下是我该怎么做:

  • 将FalconUp分叉到新的存储库中(使用GitHub上的分叉功能)
  • 本地克隆新存储库(
    FalconUDP st
    ?)
  • 单线程
    分支合并回
    主分支
  • 删除
    单线程分支
  • 推回到GitHub上的FalconUp st

  • 您可以在GitHub网站上发出请求,也可以直接在本地克隆中挑选。

    我想您的问题是:如何在GitHub的同一用户帐户中创建自己项目的分支。您不能使用网站的用户界面,但可以创建新的存储库并将相关分支推送到该存储库:

  • 创建新的回购协议,完全为空,甚至没有自述

  • 在原始项目的本地克隆中将新的repo添加为新的远程,我们将此远程
    fork
    称为:

    git remote add fork NEW_REPO_URL
    
  • 单线程
    分支推到它:

    git push -u fork single-threaded
    
  • 从原始项目中删除此分支,假设您的远程设备被称为
    源站

    git push origin :single-threaded
    

  • 如果你真的想用叉子,方法是:

  • 克隆隼
  • 在克隆中,签出单线程分支
  • 现在您有两个选择:

    a) 新的远程回购协议
  • 创建新回购协议
  • 将其作为远程添加到克隆的回购,调用它,让我们说“新建远程”
  • git-push单线程新远程/主机
  • 新回购协议的内容为单线程主回购协议一样
  • b) 本地回购
  • 删除分支主分支
  • 从分支单线程签出到新分支主分支

  • 我现在不想做第3步,我不想在主线程中改变单线程,我能把分支关闭吗?这里我们讨论的是叉,所以步骤3不把你的更改合并到我们将考虑的“规范<代码>主代码>代码中”(在<代码> FalCONUDP</代码>存储库中)。这两个分支将具有相同的名称(并且应该具有相同的名称,因为这是Git约定),但它们根本不是同一个分支,因为它们位于两个不同的repo中。与其在3中合并,不如删除主分支,然后将单线程分支重命名为主分支。