将分支切换到分叉副本

时间:2015-11-03 20:03:06

标签: git github git-checkout

我最近分叉了GIT存储库的远程副本,远程版本有3个分支开发,staging,master。

现在我想从远程的分段分支中获取最新信息,因此我尝试切换到本地repo的分段分支以从远程repo的分段分支获取更新。

我使用过下面的命令切换到临时分支git checkout staging,但是它引发了错误pathspec staging does not match any file(s) known to git,但是当我尝试git checkout origin/staging它会检出但是分支名称是一些随机字符,如1d63d7d

当我试图在我的本地仓库副本中列出分支时,它只列出了开发。

有人能告诉我如何切换到本地仓库中的分段分支。

1 个答案:

答案 0 :(得分:0)

根据您的描述,听起来当前 当地仓库中没有暂存分支。幸运的是,创建一个很容易:

git checkout -b staging --track origin/staging

这将基于staging创建并签出名为origin/staging的新分支,并将其设置为跟踪远程分支origin/staging

您可以在documentation for git checkout中详细了解-b--track选项。

应该注意的是,根据文档,通常git checkout staging应该自动为您创建一个本地分支。出于某种原因,在这种情况下它没有。我不确定为什么,但是如果你有多个带有分段分支的遥控器,那么它可能会发生在文档中。相关报价:

  

<强> git checkout <branch>

     

要准备处理<branch>,请通过更新索引切换到它   和工作树中的文件,并将HEAD指向分支。   保留对工作树中文件的本地修改,以便   他们可以致力于<branch>

     

如果找不到,但确实存在跟踪分支   只有一个匹配名称的远程(称之为),视为   相当于

$ git checkout -b <branch> --track <remote>/<branch>