如何解决git 分支 -M 主
github 现在推荐的一件事是将分支更改为 main 而不是 master。
git branch -M main
这对我不起作用,所以我想我会在这里提到它。我很难相信 这个问题只发生在我身上。
error: refname refs/heads/master not found
fatal: Branch rename Failed
解决方法
您在 your own answer 中提到 git branch -m main
(或与 -M
相同)仅在您进行初始提交后才有效。
或者,在创建任何提交之前,使用 git checkout -b main
将未出生分支的名称切换为 main
。
创建初始提交,然后重命名分支与更改未出生的分支名称,然后进行初始提交之间没有功能差异。提交不记得创建时哪个分支是当前分支,1 所以你可以随时更改分支名称。 (其他人在他们的大脑中记住了分支名称,并且可能在克隆中保存了一些分支名称,因此最好在其他人掌握这些名称之前完成所有这些名称更改。但这不在您的考虑范围之内。自己的 Git。)
1然而,git merge
命令会生成默认合并消息:
merge branch X [into Y]
和 git pull
生成默认合并消息:
merge branch X of 'url' [into Y]
其中 X 是您提供给 git merge
的参数——在使用 git pull
运行 git merge
时添加了一个 URL——并且 Y 存在,并且是当前分支的名称,如果当前分支不是指定的“特殊”分支。这在过去被硬编码为 master
,但正在变得可配置。所有这一切的最终结果是,在将特征合并到 merge branch feature
/master
中时,您倾向于获得形式为 main
的消息,而在合并时倾向于获得形式为 merge branch feature into develop
的消息特征进入其他分支。
请注意,这些自动生成的消息传达的有用信息相对较少,尤其是在合并后删除 feature
分支时。举一个特定的例子,假设您为进行热修复的临时分支保留名称 hotfix
。然后,您的存储库偶尔会有“合并分支修补程序”提交,但这些消息中的每一条都是针对不同 修补程序的。这里传达的信息几乎没有用——您需要合并的日期,而不仅仅是消息,才能找到正确的“热点错误”。在最坏的情况下,它可能比无用更糟糕,因为它可能会让您看到错误的“热错误”。如果您手动将其替换为“合并修复关键客户错误 #1234”,您会收到一条有用的消息。
(如果您的分支名称包含错误参考编号,则这些消息很有用。“进入分支 Y”部分,它使用 current 分支,不过,对我来说似乎仍然很微不足道。)
,必须至少有一次提交才能使其工作。
git status
On branch master
No commits yet
进行第一次提交。
git add *.html
git commit -m 'first'
[master (root-commit) 455481e] first
1 file changed,54 insertions(+)
create mode 100644 start.html
git branch -m master main
git status
On branch main
中更完整的解释版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。