在 git 中合并两个冲突的分支时,如何明确提及要应用哪个分支更改?

How do I explicitly mention which branch changes to apply while merging two conflicting branches in git?

我在 git 有两家分店。大师和特色。

O---O (master)
 \ 
  O (feature)

我有一个包含 Master 的文本文件,当它位于主分支头时。
同一文件在功能分支头时包含 feature

我想将功能分支变基到 master。由于它们都有冲突的更改,因此会发生 rebase 冲突(或合并冲突)。

我想知道是否有一种方法可以明确地告诉 git,我想在变基期间从功能分支中的功能分支进行更改。

这是我试过的:

我们可以清楚地看到功能分支文本正在被主分支文本覆盖。

提前致谢:)

如果您想将 feature 分支变基到 master 分支,并在发生任何合并冲突时对 feature 分支进行更改以覆盖 master 分支,你必须通过 --strategy-optiontheirs 而不是 ours.

当您在 feature 分支签出时,想要将 master 变基到 featuregit 变基 通过在 master 分支之上重放来自 feature 分支的每个提交来工作。因此,当发生合并冲突时,报告为 ours 的一方是 master 分支,而 theirs 是工作分支,即 feature 分支。

来自 git rebase 的文档:

Rebase merge works by replaying each commit from the working branch on top of the upstream branch. Because of this, when a merge conflict happens, the side reported as ours is the so-far rebased series, starting with upstream, and theirs is the working branch. In other words, the sides are swapped.

因此请尝试使用 git rebase master --strategy-option=theirs,这将确保在发生合并冲突时考虑 feature 分支更改。