我正在同步多个git存储库。充满挑战;我可以轻松地仅同步差异,但是如果要同步更改,则需要进行拉动和推动,并且(有时)在本地解决冲突。
有时候,当我做git push
时,git告诉我使用:
git push origin HEAD:<name-of-remote-branch>
通常变为:
git push origin HEAD:master
但是,这也可以:
git push origin master
那有什么区别?为什么需要HEAD:
?
答案 0 :(得分:1)
跑步时
git push origin X:Y
会发生什么情况,就是将本地名为X的内容推送到远程名称Y。HEAD是当前已签出内容的别名。如果您当前已将Master签出,那么这等效于
git push origin master:master
如果您签出了另一个分支,则会得到不同的行为。您不需要HEAD,在推送时我会避免使用它。
如果省略:master
并直接运行:
git push origin master
除非您进行了其他配置,否则它将使用master
作为远程服务器上的默认分支名称。