所以,我创建了一个新的Rails应用程序 rails new myapp,然后再cd myapp然后git init,然后git checkout -b experimental-它创造了新的分支蛮好的,因为我试图切换回主没有工作,我得到了错误的标题,还git branch-什么,所以我做了chceck,并且分支文件夹如我所愿地为空?
在进行第一次提交之前,不会创建您的第一个分支。如果您git init立即简单地切换到新分支,则不会创建master分支。例如:
% git init .
% git branch
Run Code Online (Sandbox Code Playgroud)
表明您没有任何分支。如果要切换分支,则将在创建首次提交时更改要提交(并因此创建)的分支。但是,您可以看到这仍然不显示为存在的分支:
% git checkout -b experimental
% git branch
Run Code Online (Sandbox Code Playgroud)
仍然显示没有分支。但是,当您创建第一次提交时:
% echo hello > newfile.txt
% git add newfile.txt
% git commit -mexperimental
[experimental (root-commit) dab457a] experimental
1 file changed, 1 insertion(+)
create mode 100644 newfile.txt
Run Code Online (Sandbox Code Playgroud)
现在该experimental分支存在,尽管master不存在,因为您没有提交该分支:
% git branch
* experimental
Run Code Online (Sandbox Code Playgroud)
您收到的错误消息特别密集,因为您可以git checkout用来切换到另一个分支,或将文件写入工作目录。运行时:
% git checkout master
Run Code Online (Sandbox Code Playgroud)
这是第一个解释为“切换到master分支”。master但是,缺少分支,则将其解释为“将文件检出master到工作目录”。由于您还缺少该文件,因此它告诉您找不到文件(或者实际上是pathspec)master。