2013-08-22 114 views
8

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

* (no branch) 
    master 

的代码看起来像我的另一个分支,但输出表明,它不会有一个名字。然后,我在网上搜索找到如何重命名本地分支,我得到这个:

git branch -m <newname> 

我运行此命令后的Git给了我这个错误:

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

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

回答

19

您目前位于分离头状态。您必须签出新分支才能将其与当前提交相关联:

git checkout -b new_branch 
+0

您说得对!我以为git无法识别与一个分支名称相同的分支,而您的命令正在创建一个新的分支,但事实证明它起作用。谢谢。 –

1

我的猜测是你不在名为“(no branch)”的分支上,而是不在分支上。

如果先结账主:

git checkout master 

,然后创建一个新的分支:

git checkout -b new_branch 

这将使它看起来像你所期望的。