【问题标题】:Differences between git pull origin master & git pull origin/mastergit pull origin master 和 git pull origin/master 的区别
【发布时间】:2011-02-22 10:53:12
【问题描述】:

git pull origin mastergit pull origin/master 有什么区别?

【问题讨论】:

  • calmh 几乎涵盖了它,但没有答案是你永远不应该这样做git pull origin/master。如果要合并[本地存储的]远程分支origin/master,只需使用git merge origin/master
  • @Jefromi:你能解释一下为什么 git merge 总是比 git pull 更好吗?
  • git pull 表示git fetch 后跟git merge。它从远程获取内容,然后将其合并到您当前的分支中。但是origin/master 是本地分支(跟踪远程分支)。如果你想合并它,你不需要获取任何东西。当您实际上不是从远程获取时,说 git pull origin/master 会产生误导。
  • 感谢 Jefromi 提供的有用信息。这真的有助于理解非常容易而不那么简单的概念。
  • 对于那些阅读本文但仍然感到困惑的人,origin/master 是一个本地存储的分支,它将主分支缓存在源远程。

标签: git version-control


【解决方案1】:

git pull origin master 将从origin 远程、master 分支拉取更改并将它们合并到本地签出分支。

git pull origin/master 将从本地存储的分支origin/master 中提取更改并将其合并到本地签出分支。 origin/master 分支本质上是上次从 origin 中提取的内容的“缓存副本”,这就是为什么它在 git 用语中被称为远程分支的原因。这可能有点令人困惑。

您可以通过git branchgit branch -r 查看哪些分支可用,以查看“远程分支”。

【讨论】:

  • git pull origin master的情况下,它是否会始终合并到主分支,假设我在我的仓库中的另一个分支上,然后执行上述命令,它是否会使用原始远程更改更新我当前的分支还是我的主分支进行了更改?
  • @calmh: git merge(因此git pull)总是合并到当前分支。要与当前分支以外的其他内容合并,请先检查它。
  • 嗯 .. 我看不出 'origin/master' 与 'origin master' 有什么不同;他们都是原点的主分支。你能举例说明它们何时会有所不同吗?
  • git pull origin/master 在编写此命令时可能是一个有效命令,但如今(git 1.7.10.3)它失败并显示fatal: 'origin/master' does not appear to be a git repository (应该 - pull 始终用于从远程拉取)。
  • 为什么 git 这么混乱?所以我们总共有 4 个存储库,对吗?有一个 (1) 远程存储库,(2) 一个本地存储库,(3) 一个临时存储库,(4) 一个本地远程又名源/主?为什么 git 会有 #4 存储库?
【解决方案2】:

git pull origin master 将从远程的 master 分支获取所有更改并将其合并到您的本地。我们一般不使用 git pull origin/master。我们可以通过 git merge origin/master 做同样的事情。它会合并从原始主分支的“缓存副本”到本地分支的所有更改。在我的情况下,git pull origin/master 正在抛出错误。

【讨论】:

    【解决方案3】:

    git pull = git fetch + git merge origin/branch

    git pullgit pull origin branch 的区别仅在于后者只会“更新”原点/分支,而不是像 git pull 那样“更新”所有原点/*。

    git pull origin/branch 将不起作用,因为它正在尝试执行无效的 git fetch origin/branch

    问题相关:git fetch + git merge origin/master vs git pull origin/master

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 2020-07-27
      • 2017-10-20
      • 2021-10-14
      • 2016-04-08
      • 2012-01-31
      • 2013-05-04
      • 1970-01-01
      相关资源
      最近更新 更多