git 如何 checkout 到master分支

syqv5f0l  于 2023-02-02  发布在  Git
关注(0)|答案(1)|浏览(368)
pathspec 'master' did not match any file(s)

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

git checkout -b branch name
mkdir folder name
touch filename

git checkout master
ql3eal8s

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 add <some files>
git commit

从那时起,您将拥有一个现有的分支。
如果更改了第一个分支的名称,master将不存在--您需要创建它,例如使用git switch -c master
一旦你有了一个活动提交,git switch -c将开始实际创建分支。
您在问题中没有提供更多细节,但可以猜测:你是在一个全新的仓库中工作,还没有提交吗?

相关问题