【问题标题】:how to checkout to the master branch如何结帐到主分支
【发布时间】:2023-01-31 17:23:12
【问题描述】:
pathspec 'master' did not match any file(s)

即使我在其中创建了一个文件,我也无法切换到主分支。请帮我解决这个问题。

git checkout -b branch name
mkdir folder name
touch filename

git checkout master

【问题讨论】:

  • 你真的跑过git checkout -b branch name吗?看来您应该用有意义的东西替换“分支名称”。
  • git branch --list 的输出是什么?

标签: git


【解决方案1】:

这是可能发生这种情况的一种常见情况:

如果你从一个全新的、空的 repo 开始(你刚刚运行了 git init 并且还没有做任何其他事情),起始分支(默认命名为 master)还不存在——你可能会看到 @987654323 @ 表示 refs: refs/heads/master,但 git branch --list 将有一个空输出。
仅当您创建第一个提交时才会创建分支。

您实际上会看到,在这种起始情况下,即使没有“创建”新分支,git switch master笔记: 那是新的 git checkout master) 也会失败。


在一个空的 repo 中,git switch -c <branch_name> 可以工作,但它只是更改了存储在 .git/HEAD 中的名称——它仍然没有创建一个实际的分支。
(笔记: git switch -c <name> 是新的 git checkout -b <name>)

要在新存储库中实际创建一个分支,除了在磁盘上创建文件之外,您还需要创建您的第一个提交,即:在某个时候,运行:

git add <some files>
git commit

从那时起,您将拥有一个现有分支。
如果您更改了第一个分支的名称,master 将不存在——您需要创建它,例如使用git switch -c master

一旦你有一个活跃的提交,git switch -c 将开始实际创建分支。


你没有在你的问题中提供更多细节,但这是一个猜测:你是在一个全新的存储库中工作,还没有提交吗?

【讨论】:

    猜你喜欢
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2014-06-13
    • 1970-01-01
    相关资源
    最近更新 更多