过去30分钟里我一直遇到这个问题:我的某些修改在一个文件中消失了,而我不知道是何时发生的。我想知道谁做了这件事!
我开始寻找包含我文件的修订版本:
git grep <searched_string> $(git rev-list --all) -- <file>
是指文件的路径或类似于*.gsp的通配符
我有许多修订版本,我查看最后一个版本,并尝试获取其子版本(认为第一个子版本应该是我的更改消失的第一个版本)
git rev-list --children <revision_id>
是指从上一个命令的最后一行开始的前40个字符
快接近了!我正在查看输出的开头,取第一个子元素然后运行
git log <revision_id_s_first_child> --stat
然后我查看输出,找到了修改文件的人和时间!(结果发现是我的责任……)
有没有更快的方法可以做到这一点?(git blame 不会显示已删除的内容)
git log -S
吗? - Greg Hewgill