【问题标题】:GIT 2 or more merge conflicts in a single file - how p4merge handles?单个文件中的 GIT 2 或更多合并冲突 - p4merge 如何处理?
【发布时间】:2010-11-01 07:21:17
【问题描述】:
  1. GIT p4merge - 同一文件中有 2 个或多个冲突

我已经将 p4merge 与 GIT 集成,我曾经遇到过这种情况。

我有一个合并冲突的文件。文件说 foo.c 在 3 行不同的代码中有合并冲突(第一行有冲突,中间的一些行有冲突)。

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

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


  1. 在 GIT 中合并特定文件

我的另一个问题是是否有命令可以让开发人员合并某个文件?当我运行 git mergetool 时,它会一一打开所有合并冲突,而不是像 clearcase 这样的方法,我可以说合并这个选定的文件?

【问题讨论】:

    标签: git conflict git-merge p4merge merge-conflict-resolution


    【解决方案1】:
    1. 我的猜测:当您在 p4merge 中保存文件时,它会返回代码 0,文件已更改,并且 git 假定冲突已解决。有一个配置参数mergetool.<tool>.trustExitCode(在你的情况下是mergetool.p4merge.trustExitCode),它可以设置为false,所以git总是会在运行git mergetool之后询问你合并是否成功(这可能很烦人)。您还可以为p4merge 编写一个包装器,它将在运行p4megepre-commit 钩子后检查是否存在冲突标记,它拒绝包含包含此类标记的文件的提交,尽管我从未做过类似的事情.

    2. 是的,您可以运行git mergetool <file> 来解析指定的文件。了解更多here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-09
      • 2013-06-06
      • 2012-03-18
      • 2016-06-12
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      相关资源
      最近更新 更多