假设我有一段时间前提交的文件foo.js
。我想要
只需找到首次添加此文件的提交。
在阅读答案和我自己的修修补补后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
答案 0 :(得分:270)
这里更简单,"纯粹的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
答案 1 :(得分:15)
git log --oneline -- foo.js | tail -n 1
答案 2 :(得分:0)
以下可能不是您感兴趣的,但我认为它将来会对您有所帮助,并且是Git调试生态系统的一部分:
您可以使用git-blame来显示哪些修订版本和作者最后修改了文件的每一行,特别是文件注释,访问https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
离。 git blame -L 174,190 xx.py