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