我不理解输出到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工作流。
答案 0 :(得分:36)
不,无需清理:它是您的远程仓库引用的符号分支
当您克隆您的仓库时,默认情况下您将在remotes/origin/HEAD
引用的分支上。
另见:
origin/HEAD
get set?”注意:您需要use git branch --list
(or git branch
), not git branch -l
。
答案 1 :(得分:23)
您可以使用git remote set-head origin -d
删除origin/HEAD
符号引用,或使用git remote set-head origin -a
查询远程并自动设置指向远程当前分支的origin/HEAD
指针。
origin/HEAD
引用是可选的。它仅作为语法快捷方式:如果它存在且指向origin/master
,您可以使用特定的origin
,否则您将指定origin/master
。
git remote(1)手册页描述了这一点:
组头
设置或删除默认分支(即目标 symbolic-ref refs / remotes // HEAD)用于命名的遥控器。有一个 不需要远程的默认分支,但允许使用名称 要指定的远程代替特定分支。例如, 如果origin的默认分支设置为master,则原点可能是 指定通常指定origin / master的地方。