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


Answers:


133

像这样使用时没有区别。

remote update这是一个非常高级的命令-它支持分组的遥控器(remotes.<group> = <list>),并更新所有遥控器(带有remote.<name>.skipDefaultUpdateset的遥控器除外),但不支持任何更具体的访存选项。不过,在幕后,它与使用默认选项进行提取的功能完全相同。

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

我应该警告一下,直到v1.6.6.1(2009年12月23日发布),获取和远程更新才真正使用相同的代码路径。即使在此之前,他们实际上也做过同样的事情,只是使用了不同的代码(在极端情况下,行为可能稍有不同,但是我想不起了。)


1
很有意思。+1。如果您查看Git发行说明(我已在此处编译:pastebin.com/LNhRhQS3),似乎只有1.7.0(紧随1.6.6.2之后)才允许使用“ git fetch --all”代替“ git remote update”。
VonC

啊,我实际上并没有检查什么时候fetch --all进入。我只是通过git.git克隆中的git log --grep=...和的变体来完成所有这些工作git describe --contains
卡斯卡贝尔

嗯,这很奇怪-commit 9c4a036b是“教--git提取的--all选项”,而git describe --contains提供了v1.6.6.1~1^2~9。(与我在答案中提到的远程更新更改相同的发行版,已更新以在其中添加次要发行版)。也许刚刚进入发行说明的时间太晚了?
卡斯卡贝尔

@Jefromi:很好的方式去挖掘这些信息出来,但我更喜欢先来看看的发行说明,并因缺乏沮丧一个页面的所有发行说明,在引擎收录因此我的小复制粘贴。
VonC

@Jefromi:是的...现在,我必须找到一种汇总所有“ Git烹饪方式”的方法,以了解为什么提交9c4a036b在1.7之前的官方版本中没有实现;)
VonC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.