单个文件中有2个或更多的GIT合并冲突 - p4merge如何处理?

4
  1. GIT p4merge - 2个或更多冲突在同一文件中

我已经将p4merge集成到GIT中,并且遇到了这种情况。

我有一个带有合并冲突的文件。该文件名为foo.c,在代码的3个不同行中(第一行有冲突,中间的某些行也有冲突)存在合并冲突。

当我解决了第一行的冲突(而不是其他冲突行)并保存(使用p4merge上的保存按钮)时,我猜它会将foo.c添加到索引中,当我提交时,git允许我提交而不给出错误或警告以解决同一文件中的其他冲突行。

这是GIT还是p4merge的问题?我认为GIT应该警告或报错,指出该文件中还有其他冲突行。但是它只是提交了。


  1. 在GIT中合并特定文件

我另外一个问题是是否有一条命令可以让我将开发人员发送到合并某个文件?当我运行git mergetool时,它逐个打开所有合并冲突,而不是像clearcase那样可以说合并此选定的文件吗?

1个回答

4
  1. 我的猜测是:当你在p4merge中保存文件时,它会愉快地返回代码0,表示文件已被更改,而git则认为冲突已经解决。有一个配置参数mergetool.<tool>.trustExitCode(在你的情况下是mergetool.p4merge.trustExitCode),可以设置为false,因此在运行git mergetool后,git将始终询问您合并是否成功(可能会很烦人)。您还可以编写一个包装器来检查运行p4mege后是否存在冲突标记,或者使用pre-commit钩子来拒绝包含这些标记的文件提交,尽管我从未做过这样的事情。

  2. 是的,您可以运行git mergetool <file>来解决指定的文件。了解更多信息,请点击此处


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