Answers:
这是更简单的“纯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
下面的一个衬纸将递归搜索$PWD
for的子目录,foo.js
而无需提供文件的绝对路径或相对路径,也不必将文件与该文件放在同一目录中。$PWD
git log --diff-filter=A -- **foo.js
git log --diff-filter=A -- foo.js
没有打印出在我的终端中将ID /哈希提交到STDOUT,而我不得不提供git repo根文件的相对路径,以便获得所需的结果
git log --oneline -- foo.js | tail -n 1
--follow
。
以下内容可能与您无关,但我认为它将对您有所帮助,并且是Git中调试生态系统的一部分:
您可以git-blame
用来显示文件的每一行(特别是文件注释)的修订和作者上次修改的时间。访问https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git
例如,
git blame -L 174,190 xx.py
git log --diff-filter=A -- *subfolder/foo.js