考虑下面一行的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/