这个序列会导致 'master' 被合并到分支 'A' 中吗?

Would this sequence cause 'master' to be merged into branch 'A'?

我有任何关于 master 合并到分支的问题 'releasebranch1'。

场景如下

团队的大部分成员都在处理发布分支:'releasebranch1'。 偶尔会进行错误修复,需要将其复制到 'master'。所以我们这样做:

  1. 将修复提交到 releasebranch1。
  2. 结账大师,然后'git cherry-pick xxxx'
  3. 然后 'git push origin master' 将 cherry-pick 合并到远程。

如果 - 当 master 被检出时 - 当前分支是 master,并且执行:

'git push origin releasebranch1' 而不是 'git push origin master'

是否会将 master 合并到 releasebranch1 中?

这似乎是正在发生的事情(除非我弄错了)。 可能 发生的唯一另一件事是有人正在执行 :

git合并大师

当他们不应该的时候。我看到的症状是主代码在不应该出现的情况下出现在分支中。

不,git 推送永远不能创建合并提交,合并 总是 在本地发生。

所以这只能是有人在 releasebranch1 上合并 master 造成的。

git push origin releasebranch1 将采用您当前的分支并将更改推送到远程 origin/releasebranch1。 Git 将接受您在 master 上所做的更改,并尝试尽可能地更新 origin/releasebranch1。这不会导致合并提交,但会导致 master 上的提交现在位于可供其他人拉取的远程分支上。您可以将任何本地分支推送到任何远程。

为避免此问题,请将您的分支设置为跟踪正确的远程,您需要做的就是 git push,您不必担心人们不小心将数据推送到错误的分支。

要设置跟踪(如果尚未设置):git push -u origin <branchname> 在您想要的分支上。您可以通过 git branch -vv.

查看本地分支机构正在跟踪的分支机构