警告:refname'HEAD'含糊不清

时间:2009-11-07 12:32:55

标签: git

我是Git的新手,如果执行以下命令,我似乎有一个分支太多了:

warning: refname 'HEAD' is ambiguous.

我得到以下输出:

warning: refname 'HEAD' is ambiguous.
From github.com:dagda1/hornget
 * branch            master     -> FETCH_HEAD
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.

如果我执行git branch -a

我得到以下内容:

HEAD
* master
remotes/emmekappa/master
remotes/origin/HEAD -> origin/master
remotes/origin/master

我对remotes/origin/HEAD -> origin/master感到困惑。

这是什么以及如何摆脱模棱两可的分支。

我通过执行合并到达此阶段,我认为我添加了模糊分支。

5 个答案:

答案 0 :(得分:204)

问题是你有一个名为HEAD的分支是绝对危险的,因为这是当前分支的任何分支的符号名称。

重命名:

git branch -m HEAD newbranch

然后你可以检查它并决定做什么(删除它,或以描述性分支名称保存)

origin/HEAD远程分支不是问题)

答案 1 :(得分:32)

此外,如果您不想要它,这将删除分支。

git branch -d HEAD

使用大写-D强制删除:

git branch -D HEAD

答案 2 :(得分:24)

如果您使用...

创建了名为HEAD的标记
git tag HEAD

...您可以使用以下命令删除该标记:

git tag -d HEAD

查看此案例:kerneltrap.org/git-tag HEAD

答案 3 :(得分:1)

这意味着你有一个名为“head”的分支。我有同样的问题,我通过执行以下命令解决了。

git branch -d head

答案 4 :(得分:0)

检查git存储库中可用的引用。您将在存储库中观察到两个HEAD。这使你的分支与refname HEAD模糊不清。

git show-ref

解决方案:

  • 重命名分支

    git branch -m HEAD <new_branch_name>
    

    或者

  • 删除分支

    git branch -d HEAD