git - 需要在git log上设置哪些标志,以使其具有与git whatchanged相似的输出?

原文 标签 git git-log

每位:Difference between git-log and git-whatchanged?


鼓励新用户改用“日志”。如今,这些命令是统一的,并且具有不同的默认值。


我最近才发现git whatchanged,但发现了它的输出:

commit deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
Author: Egg Sample <mail@example.com>
Date: Mon Jan 28 16:32:04 2019 -0800

    change some files

:100777 100644 abaddad1 feeb1e42 M      src/changemymode.txt
:100644 100644 1234abcd abcd1234 M      src/changemycontent.txt
:000000 100755 00000000 6600abcd A      src/addme.txt
:100755 000000 feed1bee 00000000 D      src/deleteme.txt



这对我最近使用的特定工作流程很有用(涉及一个分支,其中包含许多文件模式的更改)。出于好奇,我需要做些什么来使git log以这种方式表现,即:


显示提交信息,
旧模式,新模式,哈希,Modified|Added|Deleted和已更改文件的文件名
而不是差异本身
(并且默认情况下排除合并,这也称为git whatchanged行为)。


我认为可能是--stat--format选项中的某些内容,但是git log --help似乎没有提及有关结合使用这些选项打印文件模式和对象哈希以及快速扫描所述文档的内容没有什么让我跳出来。

最佳答案

只是为了确保这个问题没有得到解答:

通过此revised answer,较新版本的git在man git-whatchanged上对此进行了解释


whatchanged命令与git-log(1)本质上相同,但是默认情况下显示原始格式diff输出并跳过合并。


所以:

git log --raw --no-merges

相关文章:

git - Git diff缓存什么也没做

git - git Fetch数据存储在哪里?

windows - 在Windows上使用无效字符进行Git提交

git - 如何使git log输出仅在一行上显示日期和哈希?

git - 获取git log的前'x'个字符

git - Git:格式化以正确为%d自动上色

git - Git查找历史记录中的所有二进制文件

git - 敏捷分支工作流程的Git合并策略

git - 通过短哈希获取GIT提交消息的更好方法是什么?

git - 使用git log,有没有办法在一个命令中获取'--name-status'和'--numstat'?