- GIT p4merge - 同一文件中有 2 个或更多冲突
我已经将 p4merge 与 GIT 集成,我遇到过一次这种情况。
我有一个存在 merge 冲突的文件。文件 say foo.c 在 3 行不同的代码中有 merge 冲突(第一行有冲突,中间有几行有冲突)。
当我解决第一行冲突(而不是其他冲突行)并保存(使用 p4merge 上的保存按钮)时,我猜它会将 foo.c 添加到索引中,并且当我提交时,git 允许我提交而不给给我一个错误或警告来解决同一文件中的其他冲突行。
这是 GIT 或 p4merge 的问题吗?我认为 GIT 应该警告或错误指出文件中还有其他冲突行。但它只是提交。
- 在 GIT 中 merge 特定文件
我的另一个问题是是否有命令可以让开发人员 merge 某个文件?当我运行 git mergetool 时,它会一个接一个地打开所有 merge 冲突,有没有像 clearcase 这样的方法,我可以说 merge 这个选定的文件?
最佳答案
我的猜测:当您在 p4merge 中保存文件时,它会返回代码 0,文件已更改,并且 git 假定冲突已解决。有一个配置参数
mergetool.<tool>.trustExitCode
(在你的例子中是mergetool.p4merge.trustExitCode
),它可以设置为 false,所以 git 在运行git mergetool
后总是会询问你 merge 是否成功。 (这可能很烦人)。您也可以为p4merge
编写包装器这将在运行后检查冲突标记的存在p4mege
, 或pre-commit
hook,它拒绝包含包含此类标记的文件的提交,尽管我从未做过类似的事情。是的,你可以运行
git mergetool <file>
解析指定的文件。了解更多 here .
关于GIT 2 个或多个 merge 冲突在单个文件中 - p4merge 如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4067202/