1

我想查看单个文件的历史记录,然后将该历史记录中的单个修订版与当前版本进行比较。

在命令行上,这很简单:

  1. 跑:

    git log -- <filename>
    
  2. 找到您要比较的版本,

  3. 跑:

    git diff <commitid> -- <filename>
    

但是,如何使用默认的 Git gui 工具git guigitk来做到这一点?

我知道使用gitk的两种方法,但它们都非常笨拙:

任何一个:

  1. 从视图菜单中选择新视图选项,

  2. 在标有“输入要包括的文件和目录”的框中输入文件的完整路径,每行一个

  3. 通过查看顶部窗格中突出显示的项目找到要比较的版本,然后单击它以选择它,

  4. 右键单击当前版本并选择Diff selected -> this

或者:

  1. 在右下窗格中选择树,

  2. 找到您要查看的文件,右键单击它,然后选择Highlight this only

  3. 通过查看顶部窗格中突出显示的项目找到要比较的版本,然后单击它以选择它,

  4. 右键单击当前版本并选择Diff selected -> this

  5. 单击右下方窗格中的文件以在差异输出中跳转到该文件,或手动滚动。

还有比这更好的方法吗?

4

1 回答 1

1

您可以gitk从命令行启动并将其范围限制为单个文件。

您还可以将输出限制为一组提交。

例如,要显示自<commit>该 changed以来的更改path/to/file,请尝试:

gitk <commit>.. -- path/to/file

有关更多详细信息,请参见gitk手册页

于 2010-05-05T17:13:14.447 回答