如何将日志限制为影响给定路径的提交,但查看*所有*这些提交中所做的更改?

How can I limit the log to commits that affected a given path, but see *all* the changes made in those commits?

我正在使用 git log 查看影响特定子目录的更改:

git log -p <dirname>

这显示了影响此目录的提交,但未显示同一提交中的任何其他更改。我想看看它们:它们是相关的顶级 Makefile 修复程序。

目前我正在手动复制有趣提交的提交哈希,并分别查看该提交以查看所有更改。如何获取 git 日志以显示 所有 我感兴趣的有限提交集中的更改?

运行

git log -p `git rev-list HEAD -- <path>`

其中 <path> 对应于感兴趣的 file/directory(感谢 torek)。

基本上,

git rev-list HEAD -- <path>

生成影响 <path> 的修订列表,然后您通过命令替换将此列表传递给 git log -p