我发现我可以使用“git log filename”显示文件的旧版本来显示提交,然后使用“git show commit-id:filename”来显示旧版本。但它只是减少了它。
我希望能够在 emacs 中查看它,这样我就可以按照我习惯的方式进行导航,并且可以突出显示语法。我发现我无法将 git core.pager 设置为 emacs,因为 emacs 无法从标准输入读取。
有谁知道我该怎么做?还是您有另一种检查旧版本文件的好方法?
我发现我可以使用“git log filename”显示文件的旧版本来显示提交,然后使用“git show commit-id:filename”来显示旧版本。但它只是减少了它。
我希望能够在 emacs 中查看它,这样我就可以按照我习惯的方式进行导航,并且可以突出显示语法。我发现我无法将 git core.pager 设置为 emacs,因为 emacs 无法从标准输入读取。
有谁知道我该怎么做?还是您有另一种检查旧版本文件的好方法?
只需使用>
并将其放入可以在 emacs 中打开的文件中。
git show commit-id:filename > oldfile
然后在emacs中打开文件。
如果您正在使用bash
,则可以使用 Process Substitution。
gvim <(git show commit-id:filename)
使用以下 Vim 命令,可以查看文件的先前版本,而无需随后清理任何内容。
git show commit-id:filename | vim - -n
解释:vim 命令的 dash 参数使 vim 加载来自标准输入的任何内容。-n 选项禁止创建交换文件。
Emacs 包 git-timemachine 允许您在文件的 git 修订中来回切换: