从emacs,我怎样才能看到上次更改该行的提交的详细信息(例如提交消息)?
我安装了magit。
答案 0 :(得分:79)
没有必要使用magit进行此特定操作 - vanilla emacs可以执行此操作。
(另外,因为这使用了vc,所以在vc支持的任何版本控制系统中都应该完全相同。)
首先,使用vc-annotate
命令,该命令绑定到键序列 C-x v g 。
现在,重点应该是您感兴趣的提交ID。(如果没有,您可能需要使用 Cx 1 和/或 v 以便您可以看到哪一行是哪一行,以便导航到正确的一行。)您现在可以使用 = 查看该文件的差异 - 如果您获得以“不能从之前的任何修订版本中扩散...”开头的错误,这可能意味着此版本创建了该文件(这可能是emacs中的错误)。
vc-annotate
生成的 Annotate 缓冲区中已显示作者和日期。
要查看提交消息,请在 Annotate 缓冲区中按 l (字母,而不是数字1)。要查看该版本的文件内容,请在 Annotate 缓冲区或 vc-change-log 缓冲区中按 f 。
答案 1 :(得分:42)
我建议使用magit-blame-mode
( M-x magit-blame-mode )。与vc-annotate
相比,它以更好的方式提供信息,并且是标准magit分布的一部分。您可能希望将其绑定到某些键盘组合以快速切换它。
在magit-blame-mode
中使用 p 和 n 在上一个和下一个更改之间导航,并使用 RET 查看差异特定的提交。