2

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

现在我们正在使用分支,这又回到了困扰我的地方。

执行完之后git pull,我注意到我的本地 master 也已与其他分支合并,而在远程,分支未合并。

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

我没有在我的 .git/config 文件中放任何奇怪的东西。

4

2 回答 2

1

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

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

另请参阅“ “跟踪分支”和“远程跟踪分支”</a>”:

git 拉


即使您可以声明多个遥控器,您也不能在一个步骤中从所有遥控器中拉出(请参阅“从多个远程位置拉/推”)。

于 2012-11-20T13:49:18.487 回答
0

看到这个答案

用最简单的术语来说,“git pull”会执行“git fetch”,然后是“git merge”。

在未来,只是git fetch代替git pull.

[原始答案]您所经历的可能是正确的行为(以及您想要的行为)。

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

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

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

当您在 master 分支上开发时,这可能会导致问题。

解决方案是让每个开发人员始终在一个分支中工作。要么为每个开发人员创建一个分支,要么为每个特性/错误创建一个分支。

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

更多细节:

于 2012-05-16T12:10:25.983 回答