在使用没有参数的“git pull”时意外合并了其他分支
我不知道还有什么更好的方法,我一直很高兴地使用git pull(无参数)来获取远程更新 现在我们用的是树枝,这让我心神不宁 在执行了一次git pull之后,我注意到我的本地主机也与其他分支合并了,而在远程,这些分支没有合并 我正试图弄清楚这是怎么发生的,这样我就可以避免以后再这样做,但到目前为止运气不佳 我没有在.git/config文件中放入任何奇怪的内容。请参阅: 用最简单的术语来说,“git pull”执行“git fetch”和“git merge” 将来,只需在使用没有参数的“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 fetch
而不是git pull
[原始答案]你所经历的可能是正确的行为(以及你想要的行为)
想象一下这种情况:开发人员X已经完成了其分支中的一些重要功能。她把它归并给她的主人
当她推的时候,你拉的时候会发生什么
当前的解决方案是更新主分支的副本,以便查看和获取她的所有工作(功能+合并)
在主分支上开发时,这可能会导致问题
解决方案是让每个开发人员始终在一个分支中工作。可以为每个开发人员创建一个分支,也可以为每个功能/缺陷创建一个分支
这样,每个开发人员都可以决定何时与master合并(您的工作->master),以及何时使用master中的任何更改更新您的工作分支
更多详情:
- -这是针对Mercurial的,但它写得非常好,而且底层技术非常相似,对于Git用户来说也是一本不错的读物
git pull
只会将当前签出的分支与其远程跟踪分支“origin/branch
”合并。见:
- “”
- “”
即使可以声明多个遥控器,也不能一步从所有遥控器中提取(请参见“”)。我应该在OP中声明遥控器上没有合并。那里的树枝是分开的。合并似乎只是我的机器本地的,并且只在
拉
之后出现。所以当我做git拉
时,它应该将其他分支与当前分支合并?奇怪。我认为它只会将跟踪分支与其关联的远程分支合并。