在Magit中查看文件的历史logging?

使用Git版本化来查看文件的更改历史logging,其中讨论了在Git中查看文件历史logging的其他方法。

可以在Emacs Magit中完成吗?

由于magit 2.1: magit-log-buffer-file (按照下面的注释)

之前magit 2.1: magit-file-log是你在找什么。 它会显示标准magit日志视图中当前缓冲区中的所有文件提交。

打开你的magit-status缓冲区,通过键入Mx magit-status (我以前用这个绑定到C-. Cg因为它一直在使用,这几天我用的是Spacemacs,所以它是Mm gs

  1. 键入l以获取日志查看选项
  2. Type =f设置“限制到文件”选项
  3. input您希望查看历史logging的文件path
  4. 键入l查看当前分支的日志

如果您使用Spacemacs,则可以使用<SPC> gfh获取当前访问的文件的历史logging

在你的*magit: <project>*缓冲区中使用l进入logging模式,然后按f提示input文件名。

如果magit ( 用户手册 )没有这个function,那么你可以看看其他的Emacs模式 ,并添加你自己的git-log-filefunction:

 (defun git-log-file () "Display a log of changes to the marked file(s)." (interactive) (let* ((files (git-marked-files)) (buffer (apply #'git-run-command-buffer "*git-log*" "git-rev-list" \ "--pretty" "HEAD" "--" (git-get-filenames files)))) (with-current-buffer buffer ; (git-log-mode) FIXME: implement log mode (goto-char (point-min)) (setq buffer-read-only t)) (display-buffer buffer))) 

我不知道一个办法。 我只是简单的使用Mx vc-print-log来完成同样的function。 不过,这并不是一个整合的方式。