【问题标题】:List all branches with `git branch -a` does not show recently fetched branch?列出所有带有`git branch -a`的分支不显示最近获取的分支?
【发布时间】:2019-09-28 19:06:57
【问题描述】:

我在控制台中有这个历史记录:

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 列出,有人知道为什么我不能签出这个分支吗?

【问题讨论】:

    标签: git git-checkout git-fetch


    【解决方案1】:

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

    * 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 手册页:

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

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

    【讨论】:

    • 是的,但为什么它会做 FETCH_HEAD 的事情,以前从未见过?
    • 就像我说的,你没有告诉我们你输入了什么命令导致了那个输出。如果您愿意将其添加到您的问题中,也许我们可以弄清楚发生了什么。
    • 是的,我刚刚跑了git fetchtmk
    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 2019-07-08
    • 2021-02-26
    • 1970-01-01
    • 2022-01-09
    • 2020-04-12
    • 2014-09-25
    • 2020-05-22
    相关资源
    最近更新 更多