我最近分叉了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
当我试图在我的本地仓库副本中列出分支时,它只列出了开发。
有人能告诉我如何切换到本地仓库中的分段分支。
答案 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>