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


当前回答

获取特定文件的所有提交:

git rev-list HEAD—oneline FileName

例如

git rev-list HEAD—oneline index.html

输出

7a2bb2f update_index_with_alias
6c03e56 update_changes
e867142 Revert "add_paragraph"

参见gif图片

其他回答

如果你希望看到提交中对特定文件的所有更改(而不仅仅是对文件本身的更改),你可以传递——full-diff:

git log -p --full-diff [branch] -- <path>

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

git log --all -- '*.wmv'
# Shows commit history with patch
git log -p -<no_of_commits> --follow <file_name>

# Shows brief details like "1 file changed, 6 insertions(+), 1 deletion(-)"
git log --stat --follow <file_name>

参考

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

git log --follow -- filename

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.