pathspec 'master' did not match any file(s)
我无法切换到主分支,即使我已经在其中创建了一个文件。请帮助我解决这个问题。
git checkout -b branch name mkdir folder name touch filename git checkout master
ql3eal8s1#
以下是可能发生这种情况的一种常见情况:如果从一个全新的空存储库开始(您刚刚运行了git init,还没有执行任何其他操作),则起始分支(默认名为master)还不存在--您可能会看到.git/HEAD显示refs: refs/heads/master,但git branch --list将具有空输出。只有在创建第一个提交时才会创建分支。实际上,您将看到,在此初始情况下,即使没有“创建”新分支git switch master(* 注意 :这是新的git checkout master)也会失败。在空的存储库中,git switch -c <branch_name>可以工作,但它只是更改存储在.git/HEAD中的名称--它仍然不会创建实际的分支。( 注意 *:git switch -c <name>是新的git checkout -b <name>)要在新仓库中创建分支,除了在磁盘上创建文件外,还需要创建第一个提交,即:在某个点运行:
git init
master
.git/HEAD
refs: refs/heads/master
git branch --list
git switch master
git checkout master
git switch -c <branch_name>
git switch -c <name>
git checkout -b <name>
git add <some files> git commit
从那时起,您将拥有一个现有的分支。如果更改了第一个分支的名称,master将不存在--您需要创建它,例如使用git switch -c master。一旦你有了一个活动提交,git switch -c将开始实际创建分支。您在问题中没有提供更多细节,但可以猜测:你是在一个全新的仓库中工作,还没有提交吗?
git switch -c master
git switch -c
1条答案
按热度按时间ql3eal8s1#
以下是可能发生这种情况的一种常见情况:
如果从一个全新的空存储库开始(您刚刚运行了
git init
,还没有执行任何其他操作),则起始分支(默认名为master
)还不存在--您可能会看到.git/HEAD
显示refs: refs/heads/master
,但git branch --list
将具有空输出。只有在创建第一个提交时才会创建分支。
实际上,您将看到,在此初始情况下,即使没有“创建”新分支
git switch master
(* 注意 :这是新的git checkout master
)也会失败。在空的存储库中,
git switch -c <branch_name>
可以工作,但它只是更改存储在.git/HEAD
中的名称--它仍然不会创建实际的分支。( 注意 *:
git switch -c <name>
是新的git checkout -b <name>
)要在新仓库中创建分支,除了在磁盘上创建文件外,还需要创建第一个提交,即:在某个点运行:
从那时起,您将拥有一个现有的分支。
如果更改了第一个分支的名称,
master
将不存在--您需要创建它,例如使用git switch -c master
。一旦你有了一个活动提交,
git switch -c
将开始实际创建分支。您在问题中没有提供更多细节,但可以猜测:你是在一个全新的仓库中工作,还没有提交吗?