在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
)
- 键入
l
以获取日志查看选项 - Type
=f
设置“限制到文件”选项 - input您希望查看历史logging的文件path
- 键入
l
查看当前分支的日志
如果您使用Spacemacs,则可以使用<SPC> gfh
获取当前访问的文件的历史logging
在你的*magit: <project>*
缓冲区中使用l
进入logging模式,然后按f
提示input文件名。
如果magit ( 用户手册 )没有这个function,那么你可以看看其他的Emacs模式 ,并添加你自己的git-log-file
function:
(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。 不过,这并不是一个整合的方式。