我经常发现自己在做git push
,有时git push -u origin master
。我想知道哪个执行得更快。由于git push
使用了我正在处理的默认存储库,而后者明确定义了要推送的存储库。所以,我在这里有点困惑,希望其他开发人员发表意见。这样我就可以在正确的时间使用正确的代码。
请不要将我链接到以下网站。
我去过那里很多次。
它们都以完全相同的速度远程执行。查看-u
参数的手册页条目:
-u, --set-upstream
For every branch that is up to date or successfully pushed, add upstream
(tracking) reference, used by argument-less git-pull(1) and other
commands. For more information, see branch.<name>.merge in git-config(1).
这意味着,在您成功推送后,在本地.git/
文件夹中,您可以更新配置以跟踪任何远程分支。所以这意味着,-u
它只会更慢,因为它必须在本地机器上执行一些额外的文件 I/O 来更新跟踪信息。除非您正在做一些非常疯狂的事情,否则这不太可能有明显的差异。
这在很大程度上取决于您的push.default
. 此外,如果git push
有效,则-u
必须是多余的。
如果您在第一种情况下不再推动任何对象,则性能差异可能可以忽略不计。
如果要推送的文件不是很大,那么您所看到的很可能是在特定主机上设置 ssh 会话的开销,或者可能是在远程端运行的非常慢的钩子。