我是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


任何人都知道问题出在哪里,我如何彻底解决问题?

最佳答案

您有一个名为HEAD的本地分支,因此git不知道您是在引用该分支还是HEAD,这是当前分支中的最新提交。命名分支HEAD并不是一个好主意,因此您应该删除它:git branch -D HEAD。这将修复rev-parse错误。

远程分支中的origin/HEAD -> origin/master是特定于远程的事物,这意味着当您从远程克隆时,主分支将被检出。

09-04 14:06
查看更多