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


当前回答

如果您试图跟踪在前一次提交中删除的文件,请使用

git log --follow -- filename

其他回答

使用下面的命令获取特定文件的提交:

git log -p filename

或者(从Git 1.8.4开始),也可以只获取更改了文件特定部分的所有提交。你可以通过传递起始行和结束行号来得到它。

返回的结果将是修改该特定部分的提交列表。命令如下:

git log --pretty=short -u -L <upperLimit>,<lowerLimit>:<path_to_filename>

其中upperLimit是start_line_number, lowerLimit是ending_line_number

更多信息- https://www.techpurohit.in/list-some-useful-git-commands

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.

如果你想查看所有修改文件的提交,在所有分支中,使用这个:

git log --follow --all <filepath>

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

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