我想创建一个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,可以是changed in settings -> repositories on github.com
3条答案
按热度按时间42fyovps1#
使用
-m
选项(move/rename)而不是-M
,并使用要重命名的分支的名称(这里是main)将有效。然后你就可以推送你重命名的分支并维护你的reflog了。我还写了一篇博客文章,提供了更多的细节,以防在重命名分支之前,其他人克隆了这个仓库。You can check it out here.
avwztpqn2#
如果
README.md
实际上不存在,git checkout -B master
将执行您想要的操作。git branch -M
期望的是一个完整的引用,它实际上引用了一些东西,而不是git init
(或git checkout --orphan
)创建的存根。我同意它“应该”处理这个案件,它是否值得一个补丁是由任何人能够写一个好的。应该不会太难。我的测试用例导致了这个答案,只是在一个空目录中运行命令;导致了你报告的症状在(已经)包含
README.md
的目录中运行它们可以按照您想要的方式工作,即。不会产生这种错误。您是否希望git init
创建一个默认的README.md
?rhfm7lfc3#
我在Azure DevOps中这样做了。在GitHub上应该是一样的。
在项目根目录下的终端中运行这些行。
然后将
master
设置为默认分支。