1

我经常发现自己在做git push,有时git push -u origin master。我想知道哪个执行得更快。由于git push使用了我正在处理的默认存储库,而后者明确定义了要推送的存储库。所以,我在这里有点困惑,希望其他开发人员发表意见。这样我就可以在正确的时间使用正确的代码。

请不要将我链接到以下网站。

我去过那里很多次。

4

2 回答 2

4

它们都以完全相同的速度远程执行。查看-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 来更新跟踪信息。除非您正在做一些非常疯狂的事情,否则这不太可能有明显的差异。

于 2013-08-08T06:00:25.547 回答
3

这在很大程度上取决于您的push.default. 此外,如果git push有效,则-u必须是多余的。

如果您在第一种情况下不再推动任何对象,则性能差异可能可以忽略不计。

如果要推送的文件不是很大,那么您所看到的很可能是在特定主机上设置 ssh 会话的开销,或者可能是在远程端运行的非常慢的钩子。

于 2013-08-08T05:57:40.340 回答