假设有一个名为O
的官方仓库,其分支B1
,B2
& B3
。
一位用户将其分配到他的Github帐户,为自己创建了另一个名为B4
的分支,并且是公开的。
我也分叉了相同的官方仓库,但我想在不影响原始副本的情况下分叉该用户的B4
分支。
由于我为自己制作了几个自定义分支,我无法再次分发整个官方回购。
那么,我如何将特定分支分支到我的Github仓库?
答案 0 :(得分:5)
您可以将他的分支拉入您当地的git仓库,然后将其推送到您的GitHub托管仓库。
首先,将遥控器添加到其他用户的GitHub页面
git remote add other-user http://github.com/otheruser/repo
然后在您的仓库中进行本地结账。
git checkout -b B4 other-user/B4
最后,将该分支推送到GitHub上托管的repo。
git push origin B4:B4
答案 1 :(得分:4)
将该用户的存储库添加为工作目录的“远程存储库”:
git remote add someuser git://github.com/someuser/somerepo.git
完成后,您需要从该用户的存储库中获取更改。稍后,您可以随时执行此操作,而不会影响本地仓库中的任何其他内容。
git fetch someuser
并将用户的B4
分支到您自己的B5
:
git checkout -b B5 someuser/B4
也就是说,使用-b
作为起点,创建一个名为B5
的新分支(someuser/B4
)。
答案 2 :(得分:0)
尽管@keelerm提供的答案是正确的,但由于该答案中遵循的命名约定,因此可能会造成一些混乱。
让我们假设该用户,您要克隆的分支具有github用户名Naruto
。因此,基本上Naruto
已从您想要在系统上的官方存储库B4
中创建了一个分支O
。
首先,使用以下命令检查您是否已添加Naruto
的遥控器
git remote -v
。如果您看到https://github.com/Naruto/O (fetch)
和https://github.com/Naruto/O (push)
的相似处,则说明您已经添加了遥控器。跳到第3步。
在这一步中,我们将添加Naruto
的{{1}}分支的远程对象,以便从中获取所有信息。选择您将用来引用遥控器的任何方便的名称。出于说明目的,我将使用O
。使用以下命令:Kyuubi
现在,您需要从git remote add Kyuubi https://github.com/Naruto/O
的存储库中获取更改。使用以下命令:Naruto
在这一步中,我们将根据git fetch Kyuubi
的{{1}}创建一个名为myB4
的分支。使用以下命令:Naruto
如果您也需要使用相同的名称立即在您的Github中反映此B4
分支,请使用以下命令:git checkout -b myB4 Naruto/B4
就是这样。现在,您从myB4
的分支存储库git push origin myB4:myB4
中获得了一个名为myB4
的分支,并且分支Naruto
包含与O
的{{1} }。