什么是git的微不足道的合并?

时间:2009-12-01 06:00:54

标签: git merge git-merge

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

  

琐碎的合并

但是没有改变的差异?这条日志消息有什么意义?有什么改变我不知道吗?这吓到我了。

3 个答案:

答案 0 :(得分:14)

git不会在任何时候将此消息插入日志中。我将采取疯狂的猜测,并假设你已经在gitweb中看到了这条消息。

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

答案 1 :(得分:3)

我确认git codebase中唯一显示“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中讨论过)

答案 2 :(得分:2)

git merge的帮助页面(通过输入“git help merge”获得的那个)声明:

  

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