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


当前回答

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

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图片

其他回答

或者(从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

gitk <path_to_filename>

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

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

sudo apt-get install gitk

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

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

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

在Linux上,你可以使用gitk。

可以使用“sudo apt-get install git-gui gitk”进行安装。它可以通过“gitk <Filename>”来查看特定文件的提交。

# 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>

参考