git - merge 提交的 git show --raw 输出中的 MM 代表什么?

标签 git merge commit show

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

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代表?我以前没见过这个修改器。

最佳答案

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

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

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

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

关于git - merge 提交的 git show --raw 输出中的 MM 代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451073/

相关文章:

Python - 从 csv 文件创建数据帧并将这些数据帧合并在一起

mercurial - 如何解决 Mercurial (v1.0.2) 中的 merge 冲突?

git - 通过已知文件夹名称恢复丢失的提交

Git pull 在提交日志中产生无关的 "Merge branch"消息

Git 在上游 master 上重新设置我的 fork 分支

git - 删除了 2 个月的 Git 工作。如何让他们回来?

git文件一次又一次地被删除

git - 如何列出自安装 git 以来发送的所有 git 用户配置?

c++ - 缓存高效的多线程归并排序

c# - 如何检查 Dotnet 事务是否回滚?