我正在使用git
版本1.8.3.1
(分数7)。我在github上有一堆分支。我克隆了一个仓库,并尝试看看这些分支之一,但它不会让我:查看存在于远程的分支
$ git clone my_repo
$ cd my_repo
$ git checkout my_desired_branch
error: pathspec 'my_desired_branch' did not match any file(s) known to git.
我知道,这个分公司在远程分支的存在;我从另一台计算机上推出它,并且我可以在github上检查出它没有问题。阅读关于堆栈溢出的类似问题,答案似乎不尽相同:
$ git fetch [--all]
$ git pull [--all]
但是,这些东西都不能解决我的问题。此外,无论我做什么,没有什么,除了主分支显示出来,当我列出我的分支:
$ git branch
* master
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git branch -r
origin/HEAD -> origin/master
origin/master
我也无法通过哈希从回购迎接我的分支:
$ git fetch origin 6175e3ae4c88669af8aa5cd12b
这命令有任何输出,即使--verbose ......但检查退出代码表明,它是1,当然还有:
$ git checkout 6175e3ae4c88669af8aa5cd12b
fatal: reference is not a tree: 6175e3ae4c88669af8aa5cd12b
这真是令人沮丧。在这一点上,我已经试过看似fetch
,pull
,,branch
的所有可能的组合,不管我做什么,我都无法得到我的本地克隆这个回购甚至显示这些分支存在,更不用说让我检查他们出去了。
这里发生了什么?这似乎是世界上最简单的事情:考虑到我的回购有一些我想要的分支,请克隆回购并检查该分支。
试试这个命令和后输出:'git的猫文件-p 6175e3ae4c88669af8aa5cd12b'如果SHA存在,它会告诉你它是什么。如果它指向一个文件,它将输出文件。如果是提交,它将输出提交详细信息。我猜测SHA是未知的,或者指向文件而不是提交。我也可能会在之前做一个'git fetch origin'。 – CodingWithSpike
'git remote -v'给你什么? – alextercete