我发现我可以使用'git log filename'显示文件的旧版本以显示提交,然后对旧版本使用'git show commit-id:filename'。但它只是减少它。
我希望能够在emacs中查看此内容,因此我可以按照我习惯的方式进行导航,以便有语法高亮显示。我发现我无法将git core.pager设置为emacs,因为emacs无法从stdin读取。
有谁知道我怎么做到这一点?或者你有另一种检查旧版文件的好方法吗?
答案 0 :(得分:25)
只需使用>
并将其放入您可以在emacs中打开的文件中。
git show commit-id:filename > oldfile
然后在emacs中打开该文件。
答案 1 :(得分:5)
如果您使用的是bash
,则可以使用“处理替换”。
gvim <(git show commit-id:filename)
答案 2 :(得分:2)
Emacs包git-timemachine允许您来回浏览文件的git修订版:
答案 3 :(得分:0)
对于Vim,以下方法效果很好
git show commit-id:filename | vim - -n
说明: vim命令的破折号参数使vim装载来自标准输入的任何内容。 -n选项禁止创建交换文件。总之,此命令使您可以临时查看文件的先前版本,而不会在当前目录中乱扔新文件。