我目前使用git log -G "XYZ" -p
来搜索某些内容的过去更改,比如类,但经常遇到差异非常大的问题,这使我很难找到我的搜索字词所在的实际行改变。有没有办法将输出限制为仅限于该行或仅限于它周围的几行?
解决方案:git grep xyz $(git rev-list --all --max-count=5)
- max-count是可选的(我需要它来避免错误Argument list too long
)
答案 0 :(得分:1)
如果窗口使用findstr ..
,你可以像git log -G "XYZ" -p | grep pattern
那样做grep
而不是使用--max-count,如果你知道appr,那么--since和--until会更好。您要搜索的时间段
git grep xyz $(git rev-list --since="2016-11-20" --until="2016-11-21" --all)
但最好的方法是分两部分使用。 1)使用以下命令
识别提交,文件名和计数 1)git grep -c xyz $(git rev-list --all)
将此提交号传递给下面的命令以获得确切的问题
2)git grep xyz 718dcc690d8e99fd399f21fd71c86b1b8812a53d