如何在Git中跟踪单个文件的历史记录时查看完整的提交?

Mil*_*kov 19 git gitk

我有一个大约有两年历史的Git存储库.我有单个文件,我希望找到所有提交,并为每个提交:在其中提交的所有其他文件.我们假设这个文件名为file.txt.我可以用这个文件作为参数运行gitk:

gitk file.txt
Run Code Online (Sandbox Code Playgroud)

我确实得到了每一次提交.但是,在gitk中浏览该树只会显示对file.txt所做的更改.我想看看那个提交中有哪些其他文件被更改了.我可以复制粘贴每个提交SHA1并显示它,但有超过一百个与此文件相关的提交.

我注意到屏幕右下角的"评论"部分为空(仅显示文本"评论").也许可以在那里显示文件列表?

iam*_*mac 17

在命令行中,

git log -p --full-diff file.txt
Run Code Online (Sandbox Code Playgroud)

将输出你想要的.

如果你必须gitk看到它,与调用它没有参数,发现犯"感人路径" file.txt的,并提交包含该文件将是大胆的.您可以使用"向上"和"向下"按钮遍历它.


ack*_*ack 11

实际上你可以在gitk中使用'--full-diff'功能,而不是直接从命令行.只需执行以下操作:

  • 以通常的方式启动gitk,例如: gitk file.txt
  • 从菜单中选择"查看 - >编辑视图...".确认您正在编辑"命令行"视图.
  • 在"git log的附加参数"旁边的编辑框中,键入 --full-diff
  • 单击"应用"或按[F5].

应该这样做.为什么gitk不允许你从命令行使用它对我来说是一个谜,因为它是一个非常有用的选项.