我发现我可以使用"git log filename"来显示文件的旧版本以显示提交,然后使用"git-show commit id:filename"来显示旧版本。但它只会减少投入。
我希望能够在emacs中查看这一点,这样我就可以按照习惯进行导航,并且可以突出显示语法。我发现我无法将git core.pager设置为emacs,因为emacs无法从stdin读取。
有人知道我是怎么做到的吗?或者你有其他检查旧版本文件的好方法吗?
只需使用>
并将其放入可以在emacs中打开的文件中。
git show commit-id:filename > oldfile
然后在emacs中打开该文件。
如果使用bash
,则可以使用流程替换。
gvim <(git show commit-id:filename)
使用以下Vim命令,可以查看文件的早期版本,而不必在之后清理任何内容。
git show commit-id:filename | vim - -n
解释:vim命令的dash参数使vim加载来自标准输入的任何内容。-n选项禁止创建交换文件。
Emacs包git timemachine允许您在文件的git修订中来回走动:
https://github.com/pidu/git-timemachine