Git 分支在 commit pull 后合并,我没有问

Git branches were merged after commit pull without me asking

我不太确定如何描述我的问题,但我认为标题已经概括了它。如果有所不同,这一切都基于 SourceTree 和 BitBucket。 These questions sound similar on the face of it,但不要回答这个问题。

我今天一直在 Branch ABranch B 上工作,白天提交更改,准备在一天结束时推送。

今天还有其他人在 Branch B 上工作,所以在我推送我的更改之前,我拉了他们的。所以在检查 Branch B 后,拉取的提交数是 4,推送的数量是 2,但是在拉取之后,拉取的数量增加了(不记得确切的数量)和数量推送的提交数也上升到 18。所以我再次拉动然后推送,以为它们是自动冲突解决方案,然后才发现其中一项是从 Branch A 合并到 Branch B - 真的不是我想要的。

这不是我第一次遇到这个问题,但我第一次觉得我一定是不小心做了什么,这次我确定我没有。

"Commit merged changes automatically" 已检查,这是否可能导致它?我在这里做错了什么吗?是什么原因造成的?

当您执行 git 拉取操作时,它应该会自动合并。因为,git pull 基本上是 git fetch 和 git merge 的组合。请查看合并和获取文档。

有一种避免此类问题的好方法。

  1. 提交本地更改 $git commit -m message
  2. 变基并与服务器同步 $git pull --rebase
  3. 轻轻推$git推原点头:refs/for/branchname

我从来没有真正得到答案,但我想我会 post 以防其他人遇到这个问题。

问题本质上是 SourceTree。我们在程序中遇到过几个这样的问题,并因此放弃了它——自从使用 GitKraken 以来,我们没有遇到任何问题。此外,GitKraken 更擅长做诸如反转提交之类的事情,因此总体上更好。