git:重命名本地分支失败

时间:2013-08-22 14:14:26

标签: git branch rename

我不知道为什么我重命名本地分支的尝试失败了。我基本上克隆了项目,然后我在项目中也有一个子模块,我也下载了子模块代码。但是,当我在子模块中使用git branch时,我有:

* (no branch)
  master

代码看起来像我在另一个分支上,但输出显示它没有名称。然后我在网上搜索了如何重命名本地分支,我得到了这个:

git branch -m <newname>

运行此命令后,git给了我这个错误:

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

有人知道为什么会这样吗?感谢。

7 个答案:

答案 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”

enter image description here

答案 3 :(得分:2)

我的猜测是你不是在一个名为“(没有分支)”的分支上,而是在一个分支上。

如果你第一次结帐主人:

git checkout master

然后创建一个新分支:

git checkout -b new_branch

这会使它看起来像你期望的那样。

答案 4 :(得分:2)

您甚至可以在提交之前,通过几个步骤将名称从master更改为main

  1. 导航到项目所在的目录。
  2. 在其中显示隐藏文件,因为默认情况下.git将被隐藏。
  3. .git内有一个文件HEAD,在文本编辑器中将其打开。 您会看到ref: refs/heads/master
  4. 非常简单,将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

这种方式对我有用。