是否有一种方法可以列出更改特定文件的所有提交?
当前回答
获取特定文件的所有提交:
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>
参考
推荐文章
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?
- Git:在推送后删除提交的文件
- Git分支之间的视觉差异
- 在GitHub中编辑git提交消息
- 是否有可能' git状态'只修改文件?
- Git:如何区分两个不同的文件在不同的分支?
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?