Git 将发布分支合并到主冲突中

Git merge release branch into master conflicts

我知道这个答案以前可能已经回答过一百万次,但每种情况都不同,我想知道我在我的案例中做错了什么。我是 git 的新手,希望得到解释。

我有这样的提交历史:(使用 SourceTree)

目前所有更改都在本地完成。蓝线是develop分支,之前创建了一个release分支(黄色),后来合并到master(粉色)就没问题了。

然后 develop 分支以更多提交推进。现在,今天我从 develop 创建了另一个名为 release-ecomm 的分支,这是倒数第二个提交。然后我向 release-ecomm 添加了另一个提交。现在我正试图将这个发布分支合并到 master。我检查了 master 并点击合并并选择了最新的提交,但它失败了。

此处列出的文件包括已编辑和未编辑的文件。 Style.cssScript.js 已被编辑,但其他文件自上次提交到 master 后根本没有被触及。然后树结构随着文件冲突而改变:

我想要的是 master 版本,其中包含对 release-ecomm 中修改的少数文件所做的更改。我做错了什么?

您从 develop 分支了 release-ecomm,因此从 develop 到那个点的所有更改也包含在合并中。

如果您只想将更改从单个提交更改为 master,请使用 git cherry-pick:

git checkout master
git cherry-pick <commit hash>