假设我有一个名为 的函数MySuperFunction。如何列出添加/删除/更改/使用此函数的所有提交,仅包含该更改的上下文?
例如,如果 commitc使用此函数添加了一行和其他 100 行,我想查看:提交哈希、提交消息、提交的作者和日期(可选),最重要的是:函数所在行周围的差异添加了上下文前后各 5 行(包含文件名和行号),但不是提交的全部 100 行。
我尝试了什么以及为什么它不起作用:
git log -p | grep -C5 "MySuperFunction"- 打印带有上下文的差异,但不打印提交信息。git grep "MySuperFunction"- 只打印当前的使用情况MySuperFunctiongit log -GMySuperFunction- 只打印commit信息,但不打印diffgit log -GMySuperFunction -p- 打印提交信息和差异,但它打印每个提交的整个差异,而不仅仅是周围的行MySuperFunctiongit rev-list --all | GIT_PAGER=cat xargs git grep 'MySuperFunction'- 打印内容中包含“MySuperFunction”的所有提交,而不是其差异是否有任何 git log 选项,或者我是否必须编写自己的脚本来仅获取差异的输出git log -GMySuperFunction -p并过滤差异,留下提交信息?