Atlassian SourceTree创建分支失败问题求助
解决SourceTree创建分支报错“fatal: Not a valid object name: 'master'”的问题
别担心,新手遇到这种问题太正常了——我刚上手SourceTree的时候也踩过类似的坑😉
问题原因
这个报错的核心是:你的本地仓库里找不到名为master的分支对象。现在很多代码托管平台(包括Bitbucket)已经把默认分支从master改成main了,你克隆仓库后本地可能只有main分支,但SourceTree默认会尝试基于master创建新分支,自然就会报错。
具体解决步骤
第一步:确认本地/远程分支情况
你可以通过两种方式查看分支:- 在SourceTree左侧点击「分支」标签,直接查看本地分支列表,看看有没有
master,还是只有main或其他分支; - 点击SourceTree顶部的「终端」按钮,输入命令:
这个命令会列出所有本地和远程分支,远程分支会显示为git branch -aorigin/main这种格式,能清楚看到远程有没有master分支。
- 在SourceTree左侧点击「分支」标签,直接查看本地分支列表,看看有没有
第二步:根据情况选择解决方式
情况1:远程仓库默认分支就是main(没有master)
直接基于现有分支创建新分支即可:在SourceTree的分支列表里选中main,右键点击选择「创建分支」,输入新分支名称后确认,就能正常创建了。情况2:远程仓库确实有
master分支,但本地没拉取下来
打开终端执行以下命令,把远程的master分支拉取到本地:git fetch origin master:master拉取完成后,回到SourceTree就能基于
master创建新分支了。第三步:修改SourceTree默认分支设置(可选,但推荐)
为了避免以后再遇到类似问题,可以修改SourceTree的默认分支配置:- 点击SourceTree顶部的「工具」->「选项」;
- 在弹出的窗口中切换到「Git」标签;
- 找到「默认分支名称」,改成你的仓库实际使用的默认分支(比如
main); - 保存设置后,下次创建分支就会自动基于正确的分支了。
内容的提问来源于stack exchange,提问作者Ionian
相关产品推荐
相关产品推荐

