查找提交文件的提交

问题描述 投票:179回答:3

假设我有一段时间前提交的文件foo.js。我想简单地找到首次添加此文件的提交。

在阅读答案和我自己的修修补补后,这对我有用

git log --follow --diff-filter=A --find-renames=40% foo.js
git commit git-commit git-log
3个回答
286
投票

这里有更简单的“纯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

15
投票
git log --oneline -- foo.js | tail -n 1

0
投票

以下可能不是您感兴趣的,但我认为它将来会对您有所帮助,并且是Git调试生态系统的一部分:

您可以使用git-blame来显示修订版本和作者最后修改文件的每一行,尤其是文件注释。访问https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git

例如,

git blame -L 174,190  xx.py
© www.soinside.com 2019 - 2024. All rights reserved.