我不知道为什么我重命名本地分支的尝试失败了。我基本上克隆了项目,然后我在项目中也有一个子模块,我也下载了子模块代码。但是,当我在子模块中使用git branch
时,我有:
* (no branch)
master
代码看起来像我在另一个分支上,但输出显示它没有名称。然后我在网上搜索了如何重命名本地分支,我得到了这个:
git branch -m <newname>
运行此命令后,git给了我这个错误:
error: refname refs/heads/HEAD not found
fatal: Branch rename failed
有人知道为什么会这样吗?感谢。
答案 0 :(得分:34)
我也遇到了这个问题。原因是我没有对该git存储库进行任何提交。
当我运行命令git branch -M main
时。我收到以下错误消息。
error: refname refs/heads/master not found
fatal: Branch rename failed
通过以下命令添加我的第一次提交后,所有东西都可以正常工作。
git add .
git commit -m 'Init'
答案 1 :(得分:27)
您目前处于分离头状态。您必须签出新分支以将其与当前提交相关联:
git checkout -b new_branch
答案 2 :(得分:10)
我认为创建 master 分支和github的(新)“ main”是“ git init”的冲突。
之后:
git add .
git commit -m "first commit"
我能够“ git branch -M main”
答案 3 :(得分:2)
我的猜测是你不是在一个名为“(没有分支)”的分支上,而是在一个分支上。
如果你第一次结帐主人:
git checkout master
然后创建一个新分支:
git checkout -b new_branch
这会使它看起来像你期望的那样。
答案 4 :(得分:2)
您甚至可以在提交之前,通过几个步骤将名称从master
更改为main
。
.git
将被隐藏。.git
内有一个文件HEAD
,在文本编辑器中将其打开。
您会看到ref: refs/heads/master
。master
更改为main
。我们刚刚将master分支重命名为main。只需通过从终端输入git branch
来进行验证。
答案 5 :(得分:2)
我也遇到了那个错误,但我用以下方法修复了它:
git commit -m"your commit"
前 :
git branch -M main
它工作正常
答案 6 :(得分:2)
首先使用以下方法设置您的电子邮件和用户名配置:
git config --global user.email “you@example.com”
git config --global user.name “Your Name”
然后添加您的文件:
git add .
然后进行第一次提交:
git commit -m "Initial commit"
现在运行命令:
git branch -M main
这种方式对我有用。