使用SourceTree推送无master分支,终端报src refspec master不匹配错误
为啥本地没master分支,推送还报错?
这问题我日常帮同事排查过好多次,核心原因很直白:你的本地仓库还没有任何提交记录,Git不会自动生成master分支——分支得依附于提交存在,空仓库里连初始提交都没有,自然看不到任何分支,SourceTree的分支选择框是空的也很正常。
你大概率是跳过了「提交本地文件到仓库」这关键一步,咱们一步一步来修正:
- 先把项目文件加入暂存区:执行
git add .(末尾的.代表把当前目录下所有文件加入暂存区,也可以指定单个文件) - 提交到本地仓库:执行
git commit -m "Initial commit"(这里的提交信息可以换成你自己的描述,比如「初始化项目」) - 这时候再敲
git branch,就能看到master分支已经存在了 - 最后执行
git push -u origin master,就能顺利推送到远程仓库
另外补充个小细节:现在很多Git平台(比如GitHub、GitLab)新建远程仓库时默认分支是main而不是master,如果你的远程仓库默认分支是main,那推送的时候要改成git push -u origin main,或者把本地分支改名后再推送:git branch -m master main。
如果还是有问题,先执行git status看看本地状态,是不是有未追踪的文件,或者提交过程中有没有报错,这些信息能帮你更快定位问题。
内容的提问来源于stack exchange,提问作者Labanino
相关产品推荐
相关产品推荐

