我有一个大约有两年历史的Git存储库。我有单个文件,我希望找到所有提交,并为每个提交:在其中提交的所有其他文件。我们假设这个文件名为file.txt。我可以用这个文件作为参数运行gitk:
gitk file.txt
我确实得到了每次提交。但是,在gitk中浏览该树只会显示对file.txt所做的更改。我想看看那个提交中有哪些其他文件被更改了。我可以复制粘贴每个提交SHA1并显示它,但有超过一百个与此文件相关的提交。
我注意到屏幕右下角的“评论”部分为空(仅显示文本“评论”)。也许可以在那里显示文件列表?
答案 0 :(得分:17)
在命令行中,
git log -p --full-diff file.txt
将输出您想要的内容。
如果你必须在gitk中看到它,用 no 参数调用它,找到提交“触摸路径”file.txt,并且提交包含该文件将是粗体。您可以使用“向上”和“向下”按钮遍历它。
答案 1 :(得分:11)
你实际上可以在gitk中使用'--full-diff'功能,而不是直接从命令行。 只需执行以下操作:
gitk file.txt
--full-diff
应该这样做。为什么gitk不允许你在命令行中使用它对我来说是一个谜,因为它是一个非常有用的选项。
答案 2 :(得分:3)
邮件列表中的另一个解决方案可以追溯到2008:
尝试关闭“限制差异到列出的路径”选项 首选项菜单(或在您的〜/ .gitk中添加“set limitdiffs 0”)。