要查找 Git 仓库中特定文件的提交记录,你可以使用 git log
命令并指定文件名作为参数。这样,Git 将只显示与该文件相关的提交记录。
以下是如何查找特定文件的提交记录的方法:
-
使用文件名直接查找
git log --follow -p -- <文件名> |
这里的 --follow
选项会跟踪文件的重命名(如果该文件在提交历史中被重命名过)。-p
选项会显示每次提交的差异。<文件名>
是你想要查找的文件的路径和名称。
- 查找并显示图形化的提交历史
如果你想要一个更图形化的展示,并且你的 Git 客户端支持,你可以使用 --graph
选项:
git log --graph --follow -p -- <文件名> |
- 查找特定作者的提交
如果你还想根据作者来过滤结果,可以添加 --author
选项:
git log --graph --follow -p --author="John Doe" -- <文件名> |
- 只显示提交信息
如果你只想看到提交的信息,而不关心差异,可以去掉 -p
选项:
git log --follow -- <文件名> |
- 查找在特定分支上的提交
如果你想在特定分支上查找提交,可以先切换到该分支,然后再运行上述命令,或者你可以在命令中明确指定分支名:
git log --follow -- <分支名> -- <文件名> |
但是请注意,直接在 git log
命令中指定分支名可能不会按预期工作,因为它通常用于比较两个分支之间的差异。在上面的命令中,<分支名>
实际上会被解释为提交的一个引用,并且可能会产生不期望的结果。通常,你只需要在正确的分支上运行命令即可。
6. 使用 git blame
查看每行的最后修改
虽然 git log
可以显示文件的整体提交历史,但如果你想知道每行代码的最后修改是在哪个提交中进行的,可以使用 git blame
命令:
git blame <文件名> |
这将显示文件的每一行以及最后修改该行的提交的哈希、作者和日期。