是否有一种方法可以列出更改特定文件的所有提交?


当前回答

如果你想通过文件名而不是文件路径来查找所有的提交,使用:

git log --all -- '*.wmv'

其他回答

它应该像git log <somepath>;查看manpage (git-log(1))。

我个人喜欢使用git log——stat <path>,这样我就可以看到每次提交对文件的影响。

我一直在仔细研究这个问题,所有这些答案似乎并没有真正向我展示所有分支的所有提交。

以下是我通过摆弄gitk编辑视图选项得到的结果。这显示了一个文件的所有提交,而不考虑分支、本地、reflog和远程。

gitk --all --first-parent --remotes --reflog --author-date-order -- filename

它也适用于git日志:

git log --all --first-parent --remotes --reflog --author-date-order -- filename

如果你想通过文件名而不是文件路径来查找所有的提交,使用:

git log --all -- '*.wmv'

Git日志路径应该做你想做的。从git日志手册页:

[--] <path>…

Show only commits that affect any of the specified paths. To prevent confusion with
options and branch names, paths may need to be prefixed with "-- " to separate them
from options or refnames.
gitk <path_to_filename>

假设已经安装了包“gitk”。

如果没有安装,请执行以下操作:

sudo apt-get install gitk

然后尝试上面的命令。它是Linux的…如果Linux用户需要GUI,它可能会对他们有所帮助。