无法签出远程git分支

duc*_*cin 15 git branch github

我在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
Run Code Online (Sandbox Code Playgroud)

当我尝试签出远程分支时,我收到一个错误:

$ git checkout develop
error: pathspec 'develop' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚它来自哪里.我想我多年来一直在做这样的结账.也许我错过了什么.无论如何,我做了git fetch,git fetch origin而且git pull因为我跑出来的想法和仍然有同样的错误.

Séb*_*ans 30

您没有任何本地分支develop.在执行git checkout develop并且没有找到本地分支时,git将理解您要develop根据develop远程仓库中的分支(如果存在)创建一个新的本地分支.你的情况,你有2个这样的分支origin/developpateketrueke/develop,因此存在不确定性.

您可以使用以下表单更明确地说明它:

git branch develop origin/develop
git checkout develop
Run Code Online (Sandbox Code Playgroud)

要么

git branch develop pateketrueke/develop
git checkout develop
Run Code Online (Sandbox Code Playgroud)

取决于你想要什么.


这些可以缩写为:

git checkout -b develop origin/develop
Run Code Online (Sandbox Code Playgroud)

要么

git checkout -b develop pateketrueke/develop
Run Code Online (Sandbox Code Playgroud)

  • 是的,你是对的.这里的关键是"歧义".在这种情况下,git错误不是很具描述性...... (2认同)

los*_*er8 16

git checkout -b "分支名称"

git pull origin“分支名称”


Rah*_*Jha 8

按顺序尝试以下命令:

git fetch
git checkout "your_branch_name"
Run Code Online (Sandbox Code Playgroud)

怎么运行的:

如果您的分支是 git 中的新分支,则 fetch 命令会获取名称,稍后您可以使用 git checkout 命令检出该分支。

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

git branch -a
Run Code Online (Sandbox Code Playgroud)