微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。