【问题标题】:What is the difference between `git fetch origin` and `git remote update origin`?`git fetch origin` 和 `git remote update origin` 有什么区别?
【发布时间】:2011-02-10 21:48:08
【问题描述】:

针对a question about pulling one commit at a time from a git repository,建议我使用git remote update,而不是git fetch。我已经阅读了这两个手册页,但不能说我完全理解。

谁能向我解释git fetch originget remote update origin 的行为有何不同?

【问题讨论】:

标签: git


【解决方案1】:

这样使用没有区别。

remote update 是一个非常高级的命令 - 它支持分组遥控器 (remotes.<group> = <list>),并更新所有遥控器(除了那些设置了 remote.<name>.skipDefaultUpdate 的遥控器),但不支持任何更具体的 fetch 选项。但是,在后台,它与使用默认选项的 fetch 完全相同。

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

我应该补充一点,在 v1.6.6.1(2009 年 12 月 23 日发布)之前,获取和远程更新实际上并未使用相同的代码路径。不过,即使在此之前,他们也做了基本相同的事情,只是使用了不同的代码(在极端情况下的行为可能略有不同,但我想不出任何想法)。

【讨论】:

  • 非常有趣。 +1。如果您查看 Git 发行说明(我在这里编译:pastebin.com/LNhRhQS3),似乎只有 1.7.0(就在 1.6.6.2 之后)允许使用“git fetch --all”代替“@987654328” @"。
  • 啊,我实际上并没有检查 fetch --all 何时进入。我只是通过在我的 git.git 克隆中的 git log --grep=...git describe --contains 的变化来完成所有这些。
  • 嗯,这很奇怪 - 提交 9c4a036b 是“将 --all 选项教给 'git fetch'”,而 git describe --contains 给出 v1.6.6.1~1^2~9。 (与我在回答中提到的远程更新更改相同的版本,已更新以在此处添加次要版本)。也许只是太晚了进入发行说明?
  • @Jefromi:挖掘这些信息的好方法,但我更喜欢先查看发行说明,并且对所有发行说明都缺少 one 页面感到沮丧,因此我在 pastebin 中的小复制粘贴。
  • @Jefromi: 对...现在我必须找到一种方法来汇总所有“Git 中的烹饪内容”,以了解为什么提交 9c4a036b 没有在 1.7 之前的正式版本中出现;)
猜你喜欢
  • 2018-04-11
  • 2017-09-12
  • 2014-02-27
  • 2012-09-09
  • 2010-12-23
  • 2015-10-03
  • 1970-01-01
  • 2016-11-10
  • 2021-08-03
相关资源
最近更新 更多