当使用没有参数的`git pull`时,意外地合并了其他分支

时间:2012-05-16 11:52:30

标签: git merge branch git-pull

不知道更好,我总是幸福地使用git pull(没有参数)来获取远程更新。

现在我们正在使用分支机构,这又困扰了我。

执行git pull后,我注意到我的本地主人也与其他分支合并,而在遥控器上,分支没有合并。

我正在试图弄清楚这是怎么发生的,以便我可以避免将来再次这样做,但到目前为止还没有运气。

我的.git / config文件中没有任何异常。

2 个答案:

答案 0 :(得分:1)

  

所以当我做git pull时,它应该与当前分支合并其他分支?

否:git pull只会将当前签出的分支与其远程跟踪分支“origin/branch”合并。
参见:

另请参阅““Tracking Branches” And “Remote-Tracking Branches””:

git pull


即使您可以声明多个遥控器,也无法一步完成所有遥控器(请参阅“pull/push from multiple remote locations”)。

答案 1 :(得分:0)

请参阅this answer

  

简单来说,“git pull”执行“git fetch”后跟“git merge”。

将来只需git fetch而不是git pull

[原始回答] 您所遇到的可能是正确的行为(以及您想要的行为)。

想象一下这种情况:开发者X在她的分支中完成了一些重要的功能。她把它合并回了她的主人。

当她推动时,你拉什么会发生什么?

目前的解决方案是更新主分支的副本,以便您查看并完成所有工作(功能+合并)。

在主分支上进行开发时,这可能会导致问题。

解决方案是让每个开发人员始终在分支机构中工作。每个开发人员创建一个分支,或者为每个功能/ bug创建一个分支。

这样,每个开发人员都可以决定何时与master(您的工作 - > master)合并,以及何时使用master中的任何更改来更新您的工作分支。

更多详情: