>git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master 它们是相同的吗?如果是,为什么我们有两个呢?
如果当前检出的是master分支,则HEAD指向master。但如果检出了其他分支(或者仅仅是一个提交),那么情况就不同了——因为HEAD是指向你当前所在的提交的引用。例如:git checkout wip # Then HEAD == wip git checkout aed24d # Then HEAD == aed24d