首页 > 解决方案 > 如何强制将一个 git 分支合并到另一个

问题描述

我有一个 git 存储库“ui”,它有两个分支——master 和 tip。

随着时间的推移,主人和小费分开了,所以我所做的是 - 在分支主人上

git reset --hard tip

在此之后,当我没有git diff tip显示差异时,git。

现在,我更改了 master 分支中的一个文件 - pom.xml,它是一个 maven 文件。我更改了 master 上 pom.xml 中的版本。

现在,当我做 a 时,git diff tip我看到了 master 和 tip 的区别。

我犯了这个错误并推向了大师。

现在,我检查了git checkout tip 我所做的提示git diff master,并且 master 和提示上的 pom.xml 之间的差异是可见的。

我在小费上更改了一个控制器(源代码)文件,提交它并推送到小费。当我做了git diff两个更改是可见的 - 1. pom.xml 2. 代码更改。

现在,我检查了 master 并执行了以下命令 - git merge -X theirs tip 这合并了控制器文件,但没有合并 pom.xml,当我这样做时,git diff tip这再次显示了 pom.xml 文件中的差异。

合并命令的行为是什么?如何强制 git 也合并 pom.xml?

标签: gitgithubgit-merge

解决方案


tip分支不包含任何更改pom.xml文件的提交。因此,在将其合并到master分支时,没有理由修改此文件。

如果您想master拥有与 完全相同的内容tip,您已经知道答案:使用git reset --hard tip.

编辑:也许混淆在于 Git 中的合并是关于合并提交,而不是合并所有文件内容。


推荐阅读