问题描述
假设我有一个名为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 (将#修改为@)