假设有一个正式的 repo 被维护,叫做O
分支B1
,B2
& B3
。
一位用户将其分叉到他的 Github 帐户上,为自己创建了另一个分支B4
并公开可用。
我也分叉了同一个官方仓库,但我也想在B4
不影响我的原始副本的情况下分叉该用户的分支。
我不能再分叉整个官方回购,因为我已经为自己做了几个自定义分支。
那么,我怎样才能将一个特定的分支分叉到我的 Github 存储库中呢?
您可以将他的分支拉入您的本地 git 存储库,然后将其推送到您的 GitHub 托管存储库。
首先,将遥控器添加到这个其他用户的 GitHub 页面
git remote add other-user http://github.com/otheruser/repo
然后在您的存储库中对该分支进行本地结帐。
git checkout -b B4 other-user/B4
最后,将该分支推送到托管在 GitHub 上的存储库。
git push origin B4:B4
将该用户的存储库添加为您工作目录的“远程存储库”:
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
以此为起点。
尽管@keelerm 提供的答案是正确的,但由于该答案中遵循的命名约定,它可能会导致一些混淆。
假设您要克隆其分支的用户具有 github 用户名Naruto
。因此,基本上 put已经从您想要在系统上的官方存储库Naruto
创建了一个分支。B4
O
首先,检查您是否Naruto
已经使用
git remote -v
. 如果您看到类似 和 的内容https://github.com/Naruto/O (fetch)
,https://github.com/Naruto/O (push)
则您已经添加了遥控器。跳到第 3 步。
在这一步中,我们将添加远程Naruto
的分支,O
以便我们可以从中获取所有信息。选择您将用来指代遥控器的任何方便的名称。出于说明目的,我将使用Kyuubi
. 使用这个命令:git remote add Kyuubi https://github.com/Naruto/O
现在,您需要从Naruto
的存储库中获取更改。使用这个命令:git fetch Kyuubi
在这一步中,我们将创建我们自己的名为myB4
fromNaruto
的分支B4
。使用这个命令:git checkout -b myB4 Naruto/B4
如果您也需要此myB4
分支立即反映在您的 Github 中,使用相同的名称,请使用以下命令:git push origin myB4:myB4
这就对了。现在你有一个myB4
从Naruto
's fork 存储库命名的分支O
,并且你的分支包含与'smyB4
相同的信息。Naruto
B4