【问题标题】:What is a trivial merge in git?什么是 git 中的简单合并?
【发布时间】:2010-12-21 21:49:14
【问题描述】:

有时当我在一个简单的文件更改提交后执行拉取而不是变基时,我会在主日志中看到以下内容:

简单的合并

但是改变的地方没有区别吗?此日志消息的意义何在?有什么我不知道的变化吗?吓到我了。

【问题讨论】:

    标签: git merge git-merge


    【解决方案1】:

    git 不会在任何时候将此消息插入到日志中。我将大胆猜测并假设您已经在 gitweb 中看到了此消息。

    如果组合 diff 没有输出,gitweb 会打印此消息。当唯一的差异都在块中时发生这种情况,只有合并的一侧发生了变化,并且这种变化是通过在合并中未经修改而带来的。这基本上意味着没有冲突,也没有在合并提交中添加任何魔法。

    【讨论】:

      【解决方案2】:

      我确认 git 代码库中显示“Trivial Merge”消息的唯一位置是在gitweb.perl 中,在git_patchset_body() function 中(右here):

      if ($patch_number == 0) {
          if (@hash_parents > 1) {
              print "<div class=\"diff nodifferences\">Trivial merge</div>\n";
          } else {
              print "<div class=\"diff nodifferences\">No differences found</div>\n";
          }
      }
      

      文档(包含在 Git 文档中)trivial-merge.txt 确实详细解释了导致“琐碎合并”的所有情况(并且在this thread 中讨论了它们)

      【讨论】:

        【解决方案3】:

        git merge 的帮助页面(你可以通过输入“git help merge”获得)状态:

        您从外部来源收到相同的补丁,以产生与您正在合并的相同的结果

        【讨论】:

        • 我不确定你在哪里找到这个,但自从 v1.5.* 以来,它就不再是 git merge 帮助页面的一部分了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-23
        • 1970-01-01
        • 2012-10-21
        • 1970-01-01
        • 2023-02-11
        • 1970-01-01
        相关资源
        最近更新 更多