考虑下面一行的Python配置文件:

THEME = 'gum'
THEME key 仅出现一次,因此当我想知道THEME是什么时,我将文件grep起来:
grep THEME pelicanconf.py

该文件保存在git中,我想在所有以前的git commit中grep以获得THEME,以告知何时更改了此行。

是否有一种优雅的方法来grep git文件的整个历史记录?

最佳答案

git log -S'THEME' -- pelicanconf.py | xargs -n 1 git show显示更改了THEME的每个提交的内容

但是,它打印出完整的提交,而不仅仅是更改。
var="THEME"; git log -S"$var" -p -- pelicanconf.py | egrep "$var|commit|Date:"
会显示带有提交哈希和日期的THEME的所有变体。

Thx @knittl作为-p选项。

另外,找到了一个使用gitk的解决方案:see here

关于git:所有先前版本中的grep文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34576699/

10-12 13:01
查看更多