在 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-option
和 theirs
而不是 ours
.
当您在 feature
分支签出时,想要将 master
变基到 feature
,git 变基 通过在 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
分支更改。
我在 git 有两家分店。大师和特色。
O---O (master)
\
O (feature)
我有一个包含 Master
的文本文件,当它位于主分支头时。
同一文件在功能分支头时包含 feature
。
我想将功能分支变基到 master。由于它们都有冲突的更改,因此会发生 rebase 冲突(或合并冲突)。
我想知道是否有一种方法可以明确地告诉 git,我想在变基期间从功能分支中的功能分支进行更改。
这是我试过的:
我们可以清楚地看到功能分支文本正在被主分支文本覆盖。
提前致谢:)
如果您想将 feature
分支变基到 master
分支,并在发生任何合并冲突时对 feature
分支进行更改以覆盖 master
分支,你必须通过 --strategy-option
和 theirs
而不是 ours
.
当您在 feature
分支签出时,想要将 master
变基到 feature
,git 变基 通过在 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
分支更改。