在IntelliJ 14中,有没有一种方法可以显示特定文件的完整日志?
我的意思是:以图形方式执行类似于git log --follow
的操作,以便查看旧版本;在这些文件被重命名之前。
目前,当我在一个文件上执行Git => Show History时,它只显示相当于git log
的内容。
在IntelliJ 14中,有没有一种方法可以显示特定文件的完整日志?
我的意思是:以图形方式执行类似于git log --follow
的操作,以便查看旧版本;在这些文件被重命名之前。
目前,当我在一个文件上执行Git => Show History时,它只显示相当于git log
的内容。
--follow
似乎被认为是“有缺陷的”,但是 git log 应该跟随 IDEA 上的重命名: 参见 "IDEA-66700 git log should follow renames (--follow
option) ":
你可以在 "IDEA-89370 Git: show history for renamed folder omits history before rename " 中找到更多信息:关闭:请求已经在一段时间前得到修复(不是通过有缺陷的
-–follow
)。
请注意,尝试显示重命名的文件夹的历史记录可能无法正常工作(这不一定是本例子的情况)。我们不使用
--follow
(因为它存在缺陷):相反,我们在最后一个提交上调用git show -M
,检查文件是否在此提交中被重命名,在这种情况下,请求旧文件名的历史记录,依此类推。
git log -- <dir>
即使使用--follow
也不会跟随重命名,这是合理的,因为日志是通过新目录名称过滤的,而旧名称与其不匹配。即Git本身不提供跨重命名目录的历史记录。
git log --follow
完美地跟踪所有这些重命名。但是我们知道,它不会显示合并。因此,我们不能使用它。git show --name-status -M
非常昂贵。git log --name-status
并查看该文件的那些修订版本,在这些版本中,该文件被添加(即重命名不会在 git log
中显示,即使使用 "-M
",因为我们将其限制为提供的文件路径)。