我在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 fetch
,git fetch origin
和git pull
,因为我的想法已经用完了,但仍然存在相同的错误。
答案 0 :(得分:23)
您没有任何名为develop
的本地分支。当执行git checkout develop
并且没有找到本地分支时,git将理解您希望基于远程仓库中的develop
分支(如果存在)创建名为develop
的新本地分支。在您的情况下,您有2个此类分支origin/develop
和pateketrueke/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
答案 1 :(得分:0)
您可以尝试查看完整的SHA提交
答案 2 :(得分:0)
git checkout -b“分支名称”
git pull原点“分支名称”