列出所有带有`git branch -a`的分支不显示最近获取的分支?

时间:2019-05-10 21:16:34

标签: git git-checkout git-fetch

我在控制台中有以下历史记录:

Resolving deltas: 100% (58156/58156), completed with 1585 local objects.
From bitbucket.org:interos/datavana
 * branch                datavana.dev.py.3.7.3 -> FETCH_HEAD

$ git checkout datavana.dev.py.3.7.3
error: pathspec 'datavana.dev.py.3.7.3' did not match any file(s) known to git

$ git branch
* alex/dockerize
  master

$ git branch -a
* alex/dockerize
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

我在尝试运行时发现了一个问题:

git checkout datavana.dev.py.3.7.3

因为您看到它不起作用,并且也没有使用git branch -a列出此分支,所以有人知道为什么我无法检出该分支吗?

1 个答案:

答案 0 :(得分:3)

如果您先看问题的顶部,则会看到:

* branch                datavana.dev.py.3.7.3 -> FETCH_HEAD

这意味着远程引用datavana.dev.py.3.7.3已本地存储在FETCH_HEAD中。它没有创建具有相同名称的本地分支。

您可以通过运行以下命令创建名为datavana.dev.py.3.7.3的本地分支:

git checkout -b datavana.dev.py.3.7.3 FETCH_HEAD

您可能运行了git fetch <remote> datavana.dev.py.3.7.3,在这种情况下,您看到的是预期的行为。在git-fetch手册页中:

  

将获取的ref的名称以及它们指向的对象名称写入.git / FETCH_HEAD。脚本或其他git命令(例如git-pull(1))可以使用此信息。

您通常会使用git checkout签出远程分支。