Lee*_*ton 154
master是对分支结束的引用.按照惯例(默认情况下),这通常是主要的集成分支,但它不一定是.
HEAD实际上是一种特殊类型的引用,指向另一个引用.它可能指向master 或不指向(它将指向当前检出的任何分支).如果你知道你想要进入master分支机构,那就推动这个.
这是一个视觉示例:

在您自己的存储库中,您可以HEAD通过运行以下命令来检查指向的位置:
$ git symbolic-ref HEAD
refs/heads/master
Run Code Online (Sandbox Code Playgroud)
但是,找出remotes/origin/HEAD指向的位置更加棘手,因为它位于远程计算机上.
这里有一个关于git引用的很棒的小教程:
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
ben*_*gen 33
简单的答案是,它HEAD是您当前所在分支的最新提交的指针/标签.master是初始化git存储库时创建的默认分支(例如git init).
您可以删除master分支(例如git branch -D master).您无法删除HEAD指针.
只需按下当前分支的更改即可
git push origin
Run Code Online (Sandbox Code Playgroud)
它会将你的分支B"改变为origin/B".
如果你在你的master分支机构,git将推动origin/master.
实际上它会推动具有匹配远程分支的本地分支上的所有更改origin.它由配置设置push.default控制.
另请参阅Pro Git书中的推送RefSpecs.
您所看到的是侧边栏,代表GitX项目的Experimental GitX fork中远程仓库的所有refspec.

在HEAD将指定默认分支为远程.
见git remote set-head手册页:
不需要具有远程的默认分支,但允许指定远程的名称来代替特定分支.
例如,如果将默认分支origin设置为master,则origin可以在通常指定的任何位置指定origin/master.