72

我不明白输出中的第二行到git branch -l -a: remotes/origin/HEAD -> origin/master

git branch -l -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

那是另一次手术的遗留物吗?我应该清理它吗?我该怎么做?

通常我在 cli 上使用 git,但在这个本地存储库上,我尝试TortoiseGit为朋友找到一个简单的 git 工作流程。

4

2 回答 2

45

不,不需要清理:它是远程仓库引用的符号分支。
当您克隆您的存储库时,默认情况下您将位于remotes/origin/HEAD.

也可以看看:

注意:在 2.20 之前的 Git 版本上,您需要使用git branch --list(或git branch),而不是git branch -l.

于 2012-09-27T04:02:28.240 回答
38

您可以使用git remote set-head origin -d删除origin/HEAD符号引用,或git remote set-head origin -a查询远程并自动将origin/HEAD指针设置为远程的当前分支。

origin/HEAD参考是可选的。它仅充当语法快捷方式:如果它存在并指向,您可以在您本来指定的地方origin/master简单地使用 specific 。originorigin/master

git remote(1)手册页对此进行了描述:

固定头

设置或删除命名远程的默认分支(即符号引用 refs/remotes//HEAD 的目标)。不需要远程的默认分支,但允许指定远程的名称来代替特定的分支。例如,如果 origin 的默认分支设置为 master,则可以在通常指定 origin/master 的任何位置指定 origin。

于 2013-09-11T16:04:49.313 回答