是否有一种方法可以列出更改特定文件的所有提交?
当前回答
我一直在仔细研究这个问题,所有这些答案似乎并没有真正向我展示所有分支的所有提交。
以下是我通过摆弄gitk编辑视图选项得到的结果。这显示了一个文件的所有提交,而不考虑分支、本地、reflog和远程。
gitk --all --first-parent --remotes --reflog --author-date-order -- filename
它也适用于git日志:
git log --all --first-parent --remotes --reflog --author-date-order -- filename
其他回答
如果你希望看到提交中对特定文件的所有更改(而不仅仅是对文件本身的更改),你可以传递——full-diff:
git log -p --full-diff [branch] -- <path>
在Linux上,你可以使用gitk。
可以使用“sudo apt-get install git-gui gitk”进行安装。它可以通过“gitk <Filename>”来查看特定文件的提交。
它应该像git log <somepath>;查看manpage (git-log(1))。
我个人喜欢使用git log——stat <path>,这样我就可以看到每次提交对文件的影响。
获取特定文件的所有提交:
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 log -p filename
推荐文章
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?
- 如何查看远程标签?
- Git:在推送后删除提交的文件
- Git分支之间的视觉差异
- 在GitHub中编辑git提交消息
- 是否有可能' git状态'只修改文件?
- Git:如何区分两个不同的文件在不同的分支?
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?