【问题标题】:update origin/master branch without checking that branch out更新 origin/master 分支而不检查该分支
【发布时间】:2018-12-23 12:49:14
【问题描述】:

我的假设是:

git fetch origin

将更新所有远程分支:

remotes/origin/master
remotes/origin/dev

等等

但事实证明似乎并非如此,如果不是这样,我无法弄清楚这些分支如何保持最新状态。

如何确保我的本地远程分支是最新的?也许我会有更好的运气:

git fetch origin master:master

?

【问题讨论】:

  • 好的,我如何在 origin/master 上创建 git pull 而不检查它?
  • 你为什么不想退房?
  • 我不想签出我从未真正想要工作的分支,因为我不小心开始在错误的分支上工作 - 一直在发生。

标签: git git-pull git-fetch


【解决方案1】:

通常,git fetch origin会更新origin/* 下的所有远程跟踪名称。在什么情况下您不会看到这种情况发生?现代 Git 有两种常见的情况:

  • 单分支 克隆将一个上游分支映射到一个远程跟踪名称。如果这不是您想要的,请避免使用单分支克隆(或将它们转换为普通克隆)。

  • 例如,运行 git fetch origin master 会将更新限制为仅更新 origin/master,即使在 origin 上的 dev 有新的提交,如果您运行 @ 会更新 origin/dev 987654328@ 而不是 git fetch origin master

如果你使用第二个案例,git pull 会一直驱动它。 (我建议避免使用 git pull 以支持单独的 fetch 和 second-command、rebase 或根据需要合并。)

最后一种情况在 1.8.2 之前的 Git 版本中很常见,例如,git fetch origin master 甚至无法更新 origin/master。解决方案是升级到现代 Git。

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 2021-08-01
    • 2011-05-20
    • 2019-08-05
    • 2011-01-27
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多