在emacs中提交细节的git blame

从emacs,我怎么能看到提交的细节(例如提交信息),最后改变了点在线?

我有magit安装。

这个特殊的操作没有必要使用magit – 香草emacs可以做到这一点。

(另外,因为这个使用了vc,所以在vc支持的任何版本控制系统中都应该是一样的)。

首先,使用绑定到密钥序列Cx v gvc-annotate命令。

现在,重点应该放在你感兴趣的提交ID上(如果没有,你可能需要使用Cx 1和/或v,这样你才能看到哪一行是为了导航到正确的那一行。 )你可以使用= now来看到这个文件的差异,如果你得到一个以“不能从任何修订之前不能区分…”开始的错误,这可能意味着这个修订创build了这个文件(这可能是一个bug在emacs)。

作者和date已经在vc-annotate生成的注释缓冲区中可见。

要查看提交消息,请在注释缓冲区中按l (字母,而不是数字1)。 要查看该修订版本的文件,请在注释缓冲区或vc-change-log缓冲区中按f

我build议使用magit-blame-modeMx magit-blame-mode )。 它与vc-annotate相比提供了更好的信息,是标准magit分发的一部分。 您可能想要将其绑定到某个键盘组合以快速切换。

magit-blame-mode使用pn在上一个和下一个变化之间导航,并使用RET来查看特定提交的差异。