如何让Git合并忽略选定文件中的冲突?

3

我正在将一个特性分支合并到主分支,我想要覆盖主分支中的一些文件。我想要覆盖的文件通常包含文本配置和一些编码为文本的二进制数据,所以它们很可能会出问题,但是我并不关心这些。它们旨在替换主分支中的那些文件。

Auto-merging frmShopSupportIncidents.lfm
CONFLICT (content): Merge conflict in frmShopSupportIncidents.lfm
Auto-merging frmNewShop.lfm
CONFLICT (content): Merge conflict in frmNewShop.lfm
Auto-merging frmCliCustsBrowser.lfm
CONFLICT (content): Merge conflict in frmCliCustsBrowser.lfm
Auto-merging custManager.lpi
Auto-merging clientShopFrame01.lfm
CONFLICT (content): Merge conflict in clientShopFrame01.lfm
Automatic merge failed; fix conflicts and then commit the result.

怎么样才能忽略冲突并覆盖任何方式呢?

2个回答

6

您可以使用:

git checkout --theirs .

接受所有上游更改。

或者,如果您只想使用上游版本中的某些文件,请仅对这些文件执行检出操作。对于其余的文件,您可以手动解决冲突。例如:

git checkout --theirs frmNewShop.lfm frmCliCustsBrowser.lfm  

1

我不同意“不应该提交到GIT”的说法,你能详细说明一下吗?我认为在处理多个版本/分支时这是必要的。 - dan
也许你有一个有效的用例。只是听起来像是“每个用户”配置文件。 - tkarls

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接