如何在逃犯中编辑特定版本的文件

How to edit specific version of file in fugitive

某些内容已从 .c 文件移动到我存储库中的 .h 文件,我想比较它们以确保新的 header 是正确的。这是针对 Gerrit 审查的,我假设没有简单的方法可以使用 Gerrit 工具链来执行此操作。

我正在尝试在一个 window 和旧版本的 .c 文件中编辑 .h 文件。当我发出 Gedit FETCH_HEAD:path/from/root/to/file.c 时总是给出以下错误:E492: Not an editor command: Gedit FETCH_HEAD:path/from/root/to/file.c。我也尝试过使用哈希的命令。

我错过了什么?

使用"git show"命令得到你要比较的files/versions:

> git show version1:file1 > any_name_1
> git show version2:file2 > any_name_2

然后在 gedit 编辑器中打开文件或(更好)使用一些差异工具,例如 KDiff3 来查看两者之间的差异 files/versions。

> kdiff3 any_name_1 any_name_2

Fugitive 命令仅在当前缓冲区由 git 控制或 vim 首次启动位于 git 目录中时可用。

在发出 :Gedit 命令之前,只需打开 git 存储库中的任何文件。

:e path/from/root/to/file.c
:Gedit FETCH_HEAD:%

注:使用%表示当前文件。参见 :h c_%