git push origin HEAD是什么意思?


101

我在官方指南中发现:

git push origin HEAD

一种方便的方式将当前分支推到远程上的相同名称。

但是,该命令的含义对我来说并不明确。为什么会产生这种效果?

我一直找不到答案(这个问题似乎可以解决问题,但标题有误导性)。

Answers:


128

HEAD指向当前分支的顶部。git可以从中获得分支名称。因此,它与:

git push origin CURRENT_BRANCH_NAME

但您不必记住/键入当前的分支名称。此外,它还可以防止您无意中将其推入错误的远程分支。

如果要推送与当前分支不同的分支,该命令将不起作用。


17
提到它HEAD是一个符号引用可能会有所帮助,可以通过看到git symbolic-ref HEAD
John Szakmeister 2014年

git push origin和之间有什么区别git push origin HEAD
Maciek

1
没有指定分支名称的@MaciejD git push origin不起作用。您添加分支名称或说HEAD,这意味着您当前所在的分支
Schwarzie2478 '19

2
其实git push origin是一个有效的命令。如果将push.defaultGit config设置设置为,nothing则根据git push origin将会“不推送任何内容(错误输出)” man git-config。但是其他push.default设置具有其他行为。搜索push.defaultman git-config。还要在顶部的说明部分中搜索“当命令行未指定要向何处推送时”和“当命令行未指定要向何处推送时” man git-push(即man git-push不是man git-config)。
David Winiecki
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.