git责备emacs中的提交详细信息

Rob*_*een 57 git emacs magit

从emacs,我怎样才能看到最后一次更改该行的提交的详细信息(例如提交消息)?

我安装了magit.

Rob*_*een 84

没有必要使用magit进行此特定操作 - vanilla emacs可以执行此操作.

(另外,因为这使用vc,所以在vc支持的任何版本控制系统中都应该完全相同.)

首先,使用vc-annotate绑定到键序列的命令C-x v g.

现在,重点应该是您感兴趣的提交ID.(如果没有,您可能需要使用C-x 1和/或v以便您可以看到哪一行是哪一行,以便导航到正确的那一行.)您可能能够立即看到该文件的差异=- 如果你得到一个错误,以"不能从之前的任何版本扩散......"开头,这可能意味着这个版本创建了文件(这可能是emacs中的一个错误).

作者和日期已在生成的Annotate缓冲区中可见vc-annotate.

要查看提交消息,请lAnnotate缓冲区中按(字母,而不是数字1).要查看该文件看起来像在该版本中,按f无论是在注释缓冲区或VC-变化日志缓冲区.

  • "a"是金钱行为 - 在改变之前表现出责任.给我这么多时间. (10认同)
  • 另外,"vc-annotate"的输出对我来说比"magit-blame-mode"更有意义. (3认同)
  • 我非常喜欢这种模式!我不需要在终端和 emacs 之间不断切换。如果可以的话+100! (2认同)

Boz*_*sov 42

我建议使用magit-blame-mode(M-x magit-blame-mode).vc-annotate与标准magit分布相比,它以更好的方式提供信息,并且是标准magit分布的一部分.您可能希望将其绑定到某些键盘组合以快速切换它.

magit-blame-mode使用中p,n在上一个和下一个更改之间导航,并RET查看特定提交的差异.

  • @BozhidarBatsov按`v`隐藏细节,你仍然有年龄颜色编码责备. (10认同)
  • 啊,我不知道.我发现`vc-annotate`输出(或任何传统的blame输出)*比这个更具可读性.但是有其他选择总是好的. (4认同)
  • 我觉得提交者的名字在"vc-annotate"的输出中浪费了太多的空间. (4认同)
  • @ShreevatsaR 实际上,看起来 `Mx magit-blame` 会责怪该行之前的修订版。所以它确实具有“A”功能。或者,当你处于“magit-blame-mode”时,你可以只执行“b”。 (3认同)
  • 我发现`magit-blame-mode`的输出在混合/交错代码和提交历史记录方面几乎不可读.有没有办法让它显示输出像`vc-annotate`(或`git blame`,或者实际上任何其他可读格式,其中代码与注释分开)? (2认同)
  • 实际上,`magit-blame-mode`没有'vc-annotate`的主要特性,它的'A'(在当前行之前的修订版中注释).所以这就是在这一点上更喜欢"vc-annotate"的另一个原因,就像magit那样令人敬畏. (2认同)