我对git很新。目前,我尝试按照本教程使用分支名称和版本覆盖我的应用图标:http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/
执行
时出现错误git rev-parse --abbrev-ref HEAD
warning: refname 'HEAD' is ambiguous.
error: refname 'HEAD' is ambiguous
谷歌提出了一些结果,表明当有一个名为“HEAD”的分支时会发生这种情况 - 但我不认为是这种情况。至少在bitbucket的在线存储库中,我没有看到任何标记为“HEAD”的分支并通过终端查询产生:
git branch -r
origin/#224-Push-notifications
origin/1.0.2
origin/HEAD -> origin/master
origin/app-forced-update
origin/master
origin/milestone6
origin/staging
git branch
* #224-Push-notifications
1.0.2
HEAD
master
milestone3
milestone4
milestone5
milestone6
不确定为什么在远程HEAD上有一个 - >而在当地的HEAD则没有。也许这就是问题?
另外,在.git文件夹中搜索HEAD会产生
find .git -name HEAD
.git/HEAD
.git/logs/HEAD
.git/logs/refs/heads/HEAD
.git/logs/refs/remotes/origin/HEAD
.git/refs/heads/HEAD
.git/refs/remotes/origin/HEAD
任何人都明白问题是什么以及如何彻底解决它?
答案 0 :(得分:2)
你有一个名为HEAD的本地分支,所以git不知道你是指那个还是HEAD,这是当前分支中的最新提交。命名分支HEAD不是一个好主意,因此您应该删除它:git branch -D HEAD
。这将解决转速分析错误。
origin/HEAD -> origin/master
是一个特定于远程的东西,这意味着当您从远程克隆时,将检出主分支。
答案 1 :(得分:2)
git branch
的结果显示您有一个名为HEAD的分支。看起来你是从原产地继承的。
您可以使用
安全地将其从副本中删除git branch -d HEAD
答案 2 :(得分:0)
它认为本地是远程的副本,它总是当前标记为HEAD。如果不是它不知道如何对待它。本地或从远程拉。 您可以通过
更改本地HEAD的名称git branch -m HEAD newbranch