Git列表提交包含一个字符串,该字符串在包含该字符串的已更改行周围带有diff

问题描述

假设我有一个名为MySuperFunction的函数。如何仅在更改的上下文中列出添加/删除/更改/使用此功能的所有提交?

例如,如果提交c使用此函数添加了一行,以及另外100条行,我希望看到:提交哈希,提交消息,提交的作者和日期(可选),最重要的是:在添加函数的行周围有一个差异-用于上下文的前后5行(带有文件名和行号),而不是提交的全部100行。

我尝试了什么,为什么不起作用:

  • git log -p | grep -C5 "MySuperFunction"-确实显示带有上下文的差异,但没有提交信息。
  • git grep "MySuperFunction"-仅显示MySuperFunction的当前使用情况
  • git log -GMySuperFunction-仅显示提交信息,而不显示差异
  • git log -GMySuperFunction -p-打印提交信息和差异,但它打印每次提交的整个差异,而不仅仅是MySuperFunction
  • git rev-list --all | GIT_PAGER=cat xargs git grep 'MySuperFunction'-打印所有在 content 中包含“ MySuperFunction”而不是在 diff
  • 中的“ 所有

这是否有任何git log选项,还是我必须编写自己的脚本来获取git log -GMySuperFunction -p的输出并仅通过diff进行过滤,而保留提交信息?

解决方法

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

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...