【发布时间】:2023-04-06 04:16:01
【问题描述】:
Emacs 使用 C-x v l 方便地向我显示 git 下单个文件的 git 日志。但是我怎样才能查看整个历史记录呢?在 shell 中,我在 git 下的目录中执行 git log。有没有更贴近 emacs 的方法来做到这一点?
【问题讨论】:
-
here 是解释,怎么做
Emacs 使用 C-x v l 方便地向我显示 git 下单个文件的 git 日志。但是我怎样才能查看整个历史记录呢?在 shell 中,我在 git 下的目录中执行 git log。有没有更贴近 emacs 的方法来做到这一点?
【问题讨论】:
C-xvL - vc-print-root-log
我通过要求 Emacs 向我显示使用 C-x v 前缀的键绑定命令很容易找到了这一点:
CxvCh kbd>
您还可以在手册中轻松找到此信息。具体节点为:
C-hig (emacs) VC Change Log
不过,我个人使用Magit(并建议您也这样做)。
【讨论】:
C-x v d 允许您为整个目录打开一个 VC 缓冲区,您可以在其中选择一些文件(或目录),然后点击l 以获取这些文件(或该目录)的日志。
【讨论】:
我认为phils's answer 已经很棒了,应该奖励它。
另一种方法是直接运行git log 命令
并使用 shell-command 将结果显示在新缓冲区中,默认情况下绑定到 M-!。它看起来像这样:
当然magit 就像phil 已经建议的那样,
通过使用magit-status、ll 或
magit-log-current:
shell-command 的缺点是不能跳转到提交
在带有 Return 的光标下,但您可以在 magit 和
看到这个:
【讨论】: