我是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
感到困惑。
这是什么以及如何摆脱模棱两可的分支。
我通过执行合并到达此阶段,我认为我添加了模糊分支。
答案 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
答案 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