为什么git pull没有拉动被推送到远程的新创建的分支?

时间:2015-09-22 16:11:28

标签: git git-pull

我认为git pull = git fetch + git merge

这有时候可以在远程分支中进行更改,直到遇到git pull未拉动新创建的分支的情况。通过新创建的分支,我的意思是"其他人" 刚刚创建了一个新分支并推送到远程,我尝试做git pull,但我没有将新分支放到我的远程分支列表中。

我只有在git fetch然后git merge之后才能获得这个新创建的分支。

问题: 这是否意味着,只有当您想要拉动现有分支的更改时,始终执行git pull, 如果要拉新创建的分支,请执行git fetch + git merge

修改

感谢@uDaY。现在我了解如何在 git bash 中执行此操作。但是想知道我们是否想要从Eclipse IDE中执行此操作,我们如何才能知道Eclipse git pull实用程序来执行git pull -all而不是默认的git pull?有什么想法吗?

Update1:​​忽略它,我将发布新问题。

Update2:09/23/2015 好吧,不需要另外一个问题,我明白了。在这里,

  

Pull基本上是fetch + merge

因此,除非你定义fetch必须真正获取的内容,否则你不能期望拉动你想要拉动的东西!

这意味着,在eclipse中由于无法配置pull,您必须配置' Fetch'。 即:右键单击

  

project-> Team-> Remote->配置从上游获取

。 查看某些映射是否在' refmappings '下定义。无论如何,转到高级,将弹出一个新窗口 其中说' 配置提取' - 获取参考规格 - 选择要获取的参考 确保你有Source Ref为" refs / heads / "和目的地参考为" refs / remotes / origin / " ,并选中强制更新复选框。

我还做了一个额外的步骤,选择' 来源参考:'并拿起新的分支名称,例如:newbranch, 选择' 目的地参考的下拉列表:'并选择新的分支名称,例如:origin/newbranch,然后点击" +添加规范", 然后单击" 完成"。现在保存

最后执行 pull

1 个答案:

答案 0 :(得分:4)

默认情况下,Git pull不会获取所有分支。如果你想使用git pull拉出所有分支,你需要做

$ git pull --all

请参阅documentation

  

git pull [options] [<repository> [<refspec>…​]]

     

<repository><branch>的默认值从中读取   由当前分支设置的“远程”和“合并”配置   git-branch [1] --track。