`git fetch origin`和`git remote update origin'有什么区别?

时间:2010-04-22 04:30:39

标签: git

在回复a question about pulling one commit at a time from a git repository时,建议我使用git remote update代替git fetch。我已经阅读了两个手册,但不能说我完全理解。

有人可以向我解释git fetch originget remote update origin的行为方式有何不同?

1 个答案:

答案 0 :(得分:133)

使用时没有区别。

remote update是一个非常高级的命令 - 它支持分组遥控器(remotes.<group> = <list>),并更新所有遥控器(设置remote.<name>.skipDefaultUpdate的那些除外),但不是更多获取的具体选项。然而,在引擎盖下,它与使用默认选项获取完全相同。

推荐remote update而不是git fetch的答案实际上是在没有远程名称的情况下推荐它,只是为了获取所有内容,而不仅仅是命名为参数的名称。这相当于git fetch --all

我应该添加一个警告:fetch和远程更新实际上并没有使用相同的代码路径,直到v1.6.6.1(2009年12月23日发布)。不过在此之前,它们基本上做了同样的事情,只是使用了不同的代码(在角落情况下可能表现得略有不同,但我无法想到任何代码)。