git在编辑器中显示旧版本的文件

时间:2013-08-09 13:41:53

标签: git

我发现我可以使用'git log filename'显示文件的旧版本以显示提交,然后对旧版本使用'git show commit-id:filename'。但它只是减少它。

我希望能够在emacs中查看此内容,因此我可以按照我习惯的方式进行导航,以便有语法高亮显示。我发现我无法将git core.pager设置为emacs,因为emacs无法从stdin读取。

有谁知道我怎么做到这一点?或者你有另一种检查旧版文件的好方法吗?

4 个答案:

答案 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修订版:

https://github.com/pidu/git-timemachine

答案 3 :(得分:0)

对于Vim,以下方法效果很好

 git show commit-id:filename | vim - -n

说明: vim命令的破折号参数使vim装载来自标准输入的任何内容。 -n选项禁止创建交换文件。总之,此命令使您可以临时查看文件的先前版本,而不会在当前目录中乱扔新文件。