假设我有一个foo.js
前段时间提交的文件。我想简单地找到首次添加此文件的提交。
在阅读了答案和我自己的修补之后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
假设我有一个foo.js
前段时间提交的文件。我想简单地找到首次添加此文件的提交。
在阅读了答案和我自己的修补之后,这对我有用
git log --follow --diff-filter=A --find-renames=40% foo.js
这是更简单的“纯 Git”方式,不需要管道:
git log --diff-filter=A -- foo.js
检查文档。您可以对已删除、已修改等执行相同的操作。
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 --follow --find-renames=40% --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
-L 选项将注释的输出限制在第 174 行到第 190 行,因此您将看到文件 xx.py 从第 174 行到第 190 行的作者和提交哈希等
如果它是非编程方式的替代方法,那么这非常快。打开 gitk 图形用户界面。
gitk file
然后只需滚动到第一个提交