为什么在“ git push origin”中使用“ HEAD:master”而不是“ master”

时间:2018-08-18 14:13:37

标签: git

我正在同步多个git存储库。充满挑战;我可以轻松地仅同步差异,但是如果要同步更改,则需要进行拉动和推动,并且(有时)在本地解决冲突。

有时候,当我做git push时,git告诉我使用:

git push origin HEAD:<name-of-remote-branch>

通常变为:

git push origin HEAD:master

但是,这也可以:

git push origin master

那有什么区别?为什么需要HEAD:

1 个答案:

答案 0 :(得分:1)

跑步时

git push origin X:Y

会发生什么情况,就是将本地名为X的内容推送到远程名称Y。HEAD是当前已签出内容的别名。如果您当前已将Master签出,那么这等效于

git push origin master:master

如果您签出了另一个分支,则会得到不同的行为。您不需要HEAD,在推送时我会避免使用它。

如果省略:master并直接运行:

git push origin master

除非您进行了其他配置,否则它将使用master作为远程服务器上的默认分支名称。