Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git在编辑器中显示文件的旧版本_Git - Fatal编程技术网

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

git在编辑器中显示文件的旧版本,git,Git,我发现我可以使用“git log filename”来显示文件的旧版本,然后使用“git show commit id:filename”来显示旧版本。但它只是把它放在更少的地方 我希望能够在emacs中查看这一点,这样我就可以按照习惯导航,这样就可以突出显示语法。我发现我无法将git core.pager设置为emacs,因为emacs无法从stdin读取 有人知道我怎么做吗?或者您有没有其他检查文件旧版本的好方法?只需使用并将其放入可以在emacs中打开的文件中即可 git show com

我发现我可以使用“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)

gvimEmacs软件包git timemachine允许您在文件的git版本中来回移动:


使用下面的Vim命令,可以查看文件的早期版本,而无需随后清理任何内容

 git show commit-id:filename | vim - -n
说明
vim命令的破折号参数使vim加载来自标准输入的任何内容。-n选项禁止创建交换文件。

我有一种更好的方法来检查旧版本:使用vim:p。一个简单的
git show commit id:filename | vim-
就完成了!你也可以尝试
most
作为寻呼机,它有颜色支持。更好的答案在-特别是,
C-x v~
对于切换分支也很好。当emacs打开时,它在小缓冲区中显示“指向不存在文件的符号链接”,显示一个空缓冲区。我没有测试
emacs的酷把戏,谢谢!