在使用没有参数的“git pull”时意外合并了其他分支

在使用没有参数的“git pull”时意外合并了其他分支,git,merge,branch,git-pull,Git,Merge,Branch,Git Pull,我不知道还有什么更好的方法,我一直很高兴地使用git pull(无参数)来获取远程更新 现在我们用的是树枝,这让我心神不宁 在执行了一次git pull之后,我注意到我的本地主机也与其他分支合并了,而在远程,这些分支没有合并 我正试图弄清楚这是怎么发生的,这样我就可以避免以后再这样做,但到目前为止运气不佳 我没有在.git/config文件中放入任何奇怪的内容。请参阅: 用最简单的术语来说,“git pull”执行“git fetch”和“git merge” 将来,只需git fetch而不是

我不知道还有什么更好的方法,我一直很高兴地使用git pull(无参数)来获取远程更新

现在我们用的是树枝,这让我心神不宁

在执行了一次git pull之后,我注意到我的本地主机也与其他分支合并了,而在远程,这些分支没有合并

我正试图弄清楚这是怎么发生的,这样我就可以避免以后再这样做,但到目前为止运气不佳

我没有在.git/config文件中放入任何奇怪的内容。

请参阅:

用最简单的术语来说,“git pull”执行“git fetch”和“git merge”

将来,只需
git fetch
而不是
git pull

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

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

当她推的时候,你拉的时候会发生什么

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

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

解决方案是让每个开发人员始终在一个分支中工作。可以为每个开发人员创建一个分支,也可以为每个功能/缺陷创建一个分支

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

更多详情:

  • -这是针对Mercurial的,但它写得非常好,而且底层技术非常相似,对于Git用户来说也是一本不错的读物
所以当我执行git pull时,它应该将其他分支与当前分支合并

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

  • “”
  • “”
另见“”:



即使可以声明多个遥控器,也不能一步从所有遥控器中提取(请参见“”)。

我应该在OP中声明遥控器上没有合并。那里的树枝是分开的。合并似乎只是我的机器本地的,并且只在
之后出现。所以当我做
git拉
时,它应该将其他分支与当前分支合并?奇怪。我认为它只会将跟踪分支与其关联的远程分支合并。