是否有一种方法可以列出更改特定文件的所有提交?
当前回答
如果您试图跟踪在前一次提交中删除的文件,请使用
git log --follow -- filename
其他回答
要获得一个提交哈希列表,使用git rev-list:
git rev-list HEAD <filename>
输出:
b7c4f0d7ebc3e4c61155c76b5ebc940e697600b1
e3920ac6c08a4502d1c27cea157750bd978b6443
ea62422870ea51ef21d1629420c6441927b0d3ea
4b1eb462b74c309053909ab83451e42a7239c0db
4df2b0b581e55f3d41381f035c0c2c9bd31ee98d
这意味着有五次提交涉及到该文件。它是按倒序排列的,所以列表中的第一个提交b7c4f0d7是最近的一个。
使用git log——all <filename>查看所有分支中影响<filename>的提交。
——follow适用于特定的文件
git log --follow -- filename
与给出的其他解的区别
注意,其他解决方案包括git日志路径(没有——follow)。如果你想跟踪目录中的变化,但是当文件被重命名时(因此使用——follow filename),这种方法很方便。
使用下面的命令获取特定文件的提交:
git log -p filename
获取特定文件的所有提交:
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告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是