“git log -m”总是显示两个差异

问题描述

我目前正在编写一个程序,需要读取一个 git 日志文件并从中重建完整的文件树。 要通过不同的分支跟踪支持文件跟踪和重命名,我需要查看合并时的文件创建和重命名。为此,我可以使用 git 已经提供的“-m”参数:https://git-scm.com/docs/git-log#Documentation/git-log.txt--m

-m 为合并的两个父项生成差异。这很好,正是我需要的。但现在问题来了。如果一个父项的差异为空,则仅打印一个差异。两个差异的格式完全相同。查看差异适用于哪个父级的唯一方法是检查它们打印的顺序。第一个是来自merge-source-parent 的,第二个来自merge-target-parent。问题是,如果两个差异之一为空,我无法找出打印的差异属于哪个父级。 我使用这个命令来生成日志: git log --pretty=format:'[%h] [%an] (%p) %ad %s' --date="format:%Y-%m-%d %H:%M:%s" -m --numstat --summary --parents 即使差异为空,有没有办法让 git 命令打印差异的标题?或者,如果只打印一个差异,是否还有其他方法可以找出差异属于哪个父级?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)