问题描述
历史遗留问题:
在这之前 Github 的默认分支名(branch)为 “master” ,当你运行 git init 初始化一个本地仓库时默认创建一个名为 “master” 的 branch ,后来受“政治正确”的影响,Github 觉得 master 有奴隶主的意味,于是他们把默认分支名(branch)改为 “main” ,然后出现了本地仓库和远程仓库(remote origin)不匹配的问题,即:error: src refspec main does not match any 。
解决方案
首先,删除本地仓库,可以直接删除 .git 文件,或者在命令行输入 find . -name ".git" | xargs rm -Rf
;
然后,在命令行输入 git config --global init.defaultBranch <name>
修改 git 的配置,把 改成你想要的名字,如 git config --global init.defaultBranch main
,这样就能解决本地仓库和远程仓库分支名不匹配导致 push 代码失败的问题。接下来你只需要重新 git init
即可。