10

假设有一个正式的 repo 被维护,叫做O分支B1B2& B3

一位用户将其分叉到他的 Github 帐户上,为自己创建了另一个分支B4并公开可用。

我也分叉了同一个官方仓库,但我也想在B4不影响我的原始副本的情况下分叉该用户的分支。

我不能再分叉整个官方回购,因为我已经为自己做了几个自定义分支。

那么,我怎样才能将一个特定的分支分叉到我的 Github 存储库中呢?

4

3 回答 3

10

您可以将他的分支拉入您的本地 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
于 2013-03-26T17:54:53.497 回答
7

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

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以此为起点。

于 2013-03-26T17:55:33.537 回答
4

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

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

  1. 首先,检查您是否Naruto已经使用 git remote -v. 如果您看到类似 和 的内容https://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. 在这一步中,我们将创建我们自己的名为myB4fromNaruto的分支B4。使用这个命令:git checkout -b myB4 Naruto/B4

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

这就对了。现在你有一个myB4Naruto's fork 存储库命名的分支O,并且你的分支包含与'smyB4相同的信息。NarutoB4

于 2020-07-28T23:33:58.207 回答