【问题标题】:Git fetch origin vs git fetch --allGit fetch origin vs git fetch --all
【发布时间】:2016-08-06 10:38:27
【问题描述】:

以下git命令有什么区别?

git fetch origin

git fetch --all

从命令行运行它们看起来就像他们做同样的事情。

【问题讨论】:

  • 您引用的文档让像我这样的新 git 命令行用户感到困惑。我一直在寻找一个简洁明了的答案,其他发帖者对此有很大帮助

标签: git git-fetch


【解决方案1】:

git fetch origin 仅从origin 获取数据,git fetch --all 从所有远程获取数据(origin 是其中之一)

【讨论】:

  • 另外,git fetch 本身默认使用git fetch origin。来自文档:“当没有指定远程时,默认情况下将使用原始远程,除非为当前分支配置了上游分支。”
【解决方案2】:
git fetch --all

--all
获取所有遥控器。

如果您想获取所有数据并同时删除
删除的数据添加--prune标志

# Fetch all data, remove dangling objects and pack you repository
git fetch --all --prune=now

【讨论】:

  • “已删除数据”是什么意思?你的意思是如果上游删除了一个图像,那么通过git fetch --all --prune,图像将从我的本地删除?
  • @Honey 表示origin/some-branch等本地信息将被删除。它确实不会以任何方式影响您的工作副本,只会影响您的远程存储库的本地副本。
【解决方案3】:

您的存储库可能有一个别名为“origin”的远程点,但您也可能配置了其他远程点。后一个命令将从它们全部获取。

the docs for fetch 中的更多信息。

【讨论】:

    猜你喜欢
    • 2020-07-27
    • 2014-02-27
    • 2014-03-31
    • 2018-04-11
    • 2022-06-14
    • 2013-02-08
    • 2016-11-10
    • 1970-01-01
    • 2011-02-10
    相关资源
    最近更新 更多