首页 > 解决方案 > 如何在 Github 存储库上将主分支重命名为 master

问题描述

我想创建一个 github 存储库并将main分支重命名为master.

如果我在 github 上创建一个新的存储库并执行

git init
git add README.md
git commit -m "first commit"
git branch -M master

我明白了

error: refname refs/heads/master not found
fatal: Branch rename failed

所以我似乎对git不够了解。这里有什么问题?


当我在上面玩时,我一定很困惑。会发生以下情况:

git init创建存储库

git add README.md添加文件

git commit -m "first commit"将文件添加到master分支,因为这仍然是 git 的默认设置

所以我从一开始就不必重命名它。现在 Github 使用默认的 main,可以在 github.com 上的 settings -> repositories 中更改

标签: gitgithub

解决方案


如果README.md实际上不存在,git checkout -B master就会做你想做的事。 git branch -M期待一个完整的引用,它实际上是指某些东西,而不是存根git init(或git checkout --orphan)创建的。我同意它“应该”处理这种情况,是否值得补丁取决于任何有能力编写好的补丁。应该不会太难

导致这个答案的我的测试用例只是在一个空目录中运行你的命令;产生了您报告的症状。在(已经)包含README.md您想要的方式的目录中运行它们,即不会产生该错误。您是否期望git init创建一个默认值README.md


推荐阅读