【问题标题】:What does MM stand for in git show --raw output for merge commits?MM 在 git show --raw 合并提交的输出中代表什么?
【发布时间】:2011-07-23 23:48:00
【问题描述】:

我正在查看git show --numstat --shortstat --raw --pretty=medium -p 命令的输出,发现合并提交的输出不同。这就是我得到的:

commit cec68e2b00d86357c18b576cbaed52cc1ea42a74
Merge: b2ea79c e4900df
Author: jeresig <jeresig@gmail.com>
Date:   Thu Dec 9 12:44:30 2010 -0500

    Merge branch 'bug5566' of https://github.com/csnover/jquery into csnover-bug5566

16      16      src/manipulation.js
76      56      test/unit/manipulation.js
::100644 100644 100644 e09dd7e... c592b7a... 8d951b6... MM      src/manipulation.js
::100644 100644 100644 4805016... 8ee3688... 23ed898... MM      test/unit/manipulation.js

为什么没有差异信息,MM 代表什么?我以前没见过这个修饰符。

【问题讨论】:

    标签: git merge commit show


    【解决方案1】:

    没有差异信息,因为--raw 抑制了该输出。 (诚​​然,这在文档中并不明显。)

    “原始”输出记录在 git diff-tree 手册页的 Raw Output Formatdiff Format for Merges 部分中。您的示例中有两个 Ms,因为它是与两个父级的合并提交。要更详细地查看此示例:

    ::100644 100644 100644 e09dd7e... c592b7a... 8d951b6... MM src/manipulation.js
    

    ... 三种文件模式 (100644 100644 100644) 为您提供第一个父项、第二个父项和此提交中的文件模式。同样,接下来的三个字段 (e09dd7e... c592b7a... 8d951b6..) 为您提供 blob 的 object names,它表示该文件在第一个父级、第二个父级和合并提交中的内容。 MM 是两个“分数”字段,告诉您此文件已针对父级 1 进行了修改,也针对父级 2 进行了修改。

    【讨论】:

      猜你喜欢
      • 2017-04-20
      • 2015-01-28
      • 1970-01-01
      • 2015-06-11
      • 2019-08-22
      • 2017-12-15
      • 2016-02-25
      • 1970-01-01
      相关资源
      最近更新 更多