仅从Github存储库分叉特定分支

xan*_*xan 8 git fork github

假设有一个正式的仓库维护称为O分支B1,B2&B3.

一个用户将其分配到他的Github帐户,为自己创建了另一个分支,B4并且是公开的.

我也分叉了相同的官方回购,但我想在B4不影响原始副本的情况下分叉该用户的分支.

因为我为自己制作了几个自定义分支,所以我无法再次分发整个官方仓库.

那么,我如何将特定分支分支到我的Github仓库?

leg*_*cia 7

将该用户的存储库添加为您工作目录的“远程存储库”:

git remote add someuser git://github.com/someuser/somerepo.git
Run Code Online (Sandbox Code Playgroud)

完成后,您需要从该用户的存储库中获取更改。稍后,您可以随时执行此操作,而不会影响本地存储库中的任何其他内容。

git fetch someuser
Run Code Online (Sandbox Code Playgroud)

并将该用户分支B4为您自己的B5

git checkout -b B5 someuser/B4
Run Code Online (Sandbox Code Playgroud)

也就是说,创建一个-b名为的新分支 ( ) B5someuser/B4用作起点。


kee*_*erm 6

您可以将他的分支拉入您当地的git仓库,然后将其推送到您的GitHub托管仓库.

首先,将遥控器添加到其他用户的GitHub页面

git remote add other-user http://github.com/otheruser/repo
Run Code Online (Sandbox Code Playgroud)

然后在您的仓库中进行本地结账.

git checkout -b B4 other-user/B4
Run Code Online (Sandbox Code Playgroud)

最后,将该分支推送到GitHub上托管的repo.

git push origin B4:B4
Run Code Online (Sandbox Code Playgroud)


小智 5

尽管 @keelerm 提供的答案是正确的,但由于该答案中遵循的命名约定,可能会导致一些混乱。

假设您要克隆其分支的用户具有 github 用户名Naruto。因此,基本上 put已经从您想要在系统上使用的官方存储库Naruto创建了一个分支。B4O

  1. 首先,检查您是否Naruto已使用添加了遥控器 git remote -vhttps://github.com/Naruto/O (fetch)如果您看到类似和的内容https://github.com/Naruto/O (push),则说明您已经添加了遥控器。跳至步骤 3。

  2. 在此步骤中,我们将添加 的远程分支,Naruto以便O我们可以从中获取所有信息。选择任何您将用来指代遥控器的方便名称。出于说明目的,我将使用Kyuubi. 使用这个命令:git remote add Kyuubi https://github.com/Naruto/O

  3. Naruto现在,您需要从的存储库中获取更改。使用这个命令:git fetch Kyuubi

  4. 在此步骤中,我们将创建自己的分支,名为myB4from Naruto's B4。使用这个命令:git checkout -b myB4 Naruto/B4

  5. 如果您myB4也需要此分支以相同的名称立即反映在您的 Github 中,请使用以下命令:git push origin myB4:myB4

这就对了。myB4现在您有一个名为fromNaruto的分叉存储库的分支O,并且您的分支包含myB4与 的相同的信息。NarutoB4