如何将git分支转换为fork?

时间:2013-12-08 06:21:16

标签: git github git-branch

我在我的GitHub回购中创建了一个分支:https://github.com/markmnl/FalconUDP,所以现在有两个分支:" master"和"单线程"。我意识到现在我永远不想合并"单线程"回到"主人"并希望将每个分支彼此独立地保持在一起,但是我会不时地从一个代码到另一个代码中挑选代码。

如果分支被意外合并将是灾难性的(虽然当然不是灾难性的,因为我总是可以回去 - 它在源代码控制中)。

我觉得应该做的就是把项目分成另一个回购。 (这样我仍然可以使用Pull Requests进行樱桃采摘)。

我现在该怎么办?

3 个答案:

答案 0 :(得分:2)

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

  1. 创建新的仓库,完全空,甚至没有自述文件https://github.com/new

  2. 将新的repo添加为原始项目的本地克隆中的新远程,让我们称之为远程fork,例如:

    git remote add fork NEW_REPO_URL
    
  3. 将您的single-threaded分支推送到它:

    git push -u fork single-threaded
    
  4. 假设您的遥控器名为origin

    ,请从原始项目中删除此分支
    git push origin :single-threaded
    

答案 1 :(得分:0)

我将如何做到这一点:

  1. 将FalconUDP分叉到一个新的存储库(使用GitHub上的fork功能)
  2. 在本地克隆新存储库(FalconUDP-st?)
  3. single-threaded分支合并回master
  4. 删除single-threaded分支
  5. 在GitHub上推回FalconUDP-st
  6. 您可以在GitHub网站上发出拉取请求,或者您可以选择本地克隆。

答案 2 :(得分:0)

如果你真的想分叉,那就是:

  1. 克隆猎鹰
  2. 在克隆中,结帐单线程分支
  3. 现在您有两个选择:

    a)新的远程仓库

    1. 创建新的仓库
    2. 将其添加为克隆回购的远程,调用它,让我们说“ new-remote
    3. git push single-threaded new-remote/master
    4. 新回购的单线程内容为
    5. b)本地回购

      1. 删除分支
      2. 从分支单线程结帐到新分支