假设我有一段时间前提交的文件foo.js
。我想简单地找到首次添加此文件的提交。
在阅读答案和我自己的修修补补后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
这里有更简单的“纯Git”方法,无需管道:
git log --diff-filter=A -- foo.js
查看文档。你可以为Deleted,Modified等做同样的事情。
https://git-scm.com/docs/git-log#Documentation/git-log.txt---diff-filterACDMRTUXB82308203
我有一个方便的别名,因为我总是忘记它:
git config --global alias.whatadded 'log --diff-filter=A'
这使它变得如此简单:
git whatadded -- foo.js
git log --oneline -- foo.js | tail -n 1
以下可能不是您感兴趣的,但我认为它将来会对您有所帮助,并且是Git调试生态系统的一部分:
您可以使用git-blame
来显示修订版本和作者最后修改文件的每一行,尤其是文件注释。访问https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
例如,
git blame -L 174,190 xx.py