繁体   English   中英

无法签出远程 git 分支

[英]cannot checkout remote git branch

我在 github 本地克隆中。 以下是分支机构列表:

$ git branch -a
* master
  online-demo
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/gh-pages
  remotes/origin/master
  remotes/origin/online-demo
  remotes/pateketrueke/develop
  remotes/pateketrueke/gh-pages
  remotes/pateketrueke/master

当我尝试签出远程分支时,出现错误:

$ git checkout develop
error: pathspec 'develop' did not match any file(s) known to git.

我不知道那是从哪里来的。 我想我多年来一直在做这样的结账。 也许我错过了什么。 无论如何,我做了git fetchgit fetch origingit pull ,因为我的想法已经用完了,但仍然有同样的错误。

您没有任何名为develop本地分支。 当执行git checkout develop并且没有找到本地分支时,git 会理解您想要创建一个名为develop的新本地分支,基于远程仓库中的develop分支(如果存在)。 在您的情况下,您有 2 个这样的分支origin/developpateketrueke/develop ,因此存在歧义。

您可以使用以下形式更明确地说明它:

git branch develop origin/develop
git checkout develop

或者

git branch develop pateketrueke/develop
git checkout develop

取决于你想要什么。


这些可以缩写为:

git checkout -b develop origin/develop

或者

git checkout -b develop pateketrueke/develop

git checkout -b "分支名称"

git pull origin “分支名称”

您可以尝试查看完整的 SHA 提交

按顺序尝试以下命令:

git fetch
git checkout "your_branch_name"

怎么运行的:

如果您的分支是 git 中的新分支,请使用 fetch 命令获取名称,然后您可以使用 git checkout 命令签出分支。

要查看您可以使用的所有分支

git branch -a

在我的例子中,我不得不重新使用

git fetch origin --refetch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM