查找包含 'word1' 的最后一次提交

Find the last commit containing 'word1'

在一个大的django项目中,我记得我们把'word1'改成'word2',但我什至不知道什么是'word2'。但是,我知道我可以用 'word1' 找到它。换句话说,我想找到我将 'word1' 更改为 'word2' 的提交。我怎么能做这样的事?我如何找到 'word1' 的最后一次提交?

你应该试试 -S option of git log

git log -S word1 --patch

将显示所有包含 'word1' 并更改它的活动更改的提交。

这不是最轻松的事情,但我也会考虑使用 git grep....循环...像这样:

git rev-list | while read revision; do
    lines=$( git grep word1 $revision | wc -l )
    if [ $lines -ne 0 ]; then
        echo Found it on revision $revision
        git grep word1 $revision
        break
    fi
done