git - 如何在 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 中更改
解决方案
如果README.md
实际上不存在,git checkout -B master
就会做你想做的事。 git branch -M
期待一个完整的引用,它实际上是指某些东西,而不是存根git init
(或git checkout --orphan
)创建的。我同意它“应该”处理这种情况,是否值得补丁取决于任何有能力编写好的补丁。应该不会太难。
导致这个答案的我的测试用例只是在一个空目录中运行你的命令;产生了您报告的症状。在(已经)包含README.md
您想要的方式的目录中运行它们,即不会产生该错误。您是否期望git init
创建一个默认值README.md
?