撤消终端中的树样式git
Emacs有一个软件包,它允许您使用撤销树,而不仅仅是向前或向后使用撤销: git是否也有类似的功能,可以让您查看提交树并选择一个提交树?是在命令行上还是在Emacs中 注意:我是Emacs新手,我安装了优秀的Emacs Live,其中似乎包括magit。Emacs Live有一个添加定制的系统-文件位于~/.Live packs/cannyboy pack/。其中有一个init.el文件,它引用另一个文件夹-config中的文件。因此,我添加了(活载配置文件“magit custom.el”)并在配置中添加了一个magit-custom.el文件和@event_jr的代码,然后通过添加(活载配置文件“magit custom.el”)在~/.live packs/cannyboy pack/init.el中引用了该文件。我想这就是您要找的。 显示它的用途撤消终端中的树样式git,git,emacs,Git,Emacs,Emacs有一个软件包,它允许您使用撤销树,而不仅仅是向前或向后使用撤销: git是否也有类似的功能,可以让您查看提交树并选择一个提交树?是在命令行上还是在Emacs中 注意:我是Emacs新手,我安装了优秀的Emacs Live,其中似乎包括magit。Emacs Live有一个添加定制的系统-文件位于~/.Live packs/cannyboy pack/。其中有一个init.el文件,它引用另一个文件夹-config中的文件。因此,我添加了(活载配置文件“magit custom.el”
您还应该看看,据说它有一个更好的用户界面。在Emacs中,您可以看到文件的git提交日志树和magit的
magit文件日志
命令,然后按RETURN打开日志的差异。我们可以
基于magit和Emacs的内部版本控制感知功能构建
直接访问该文件
下载安装
添加到您的“init.el”
重新启动Emacs
打开您感兴趣的提交历史记录文件
M-x magit文件日志
转到有趣的提交按C-C o
编辑修复缺少的密钥映射规范。谢谢,我已经为我的问题添加了一些细节。我无法使代码正常工作(define key语句中的参数不足)。所以我把它改为“(定义关键全局映射(kbd“C-CO”)等等…但是我在微型缓冲区中遇到了这个错误:无法访问/path/to/code/MyCode/headorry,使其正常工作。我将进入magit日志而不是magit文件日志。感谢您的代码。仍然不确定是否应该使用global-map。它会将具有提交编号的文件放在文件名之后,就像文件名一样。~512b384~…它是否可以替换文件名完全是e文件,还是这违背了git的理念?我修复了代码以指定正确的键映射。可以替换工作树的文件内容,但这会很快让人困惑。我从elpa获得了最新版本的magit,得到了Symbol的函数定义无效:magit section action
(20151006.1359),我不得不使用全局映射
,因为magit日志模式映射
不再有效。
(defun my-magit-visit-file-at-commit (&optional other-window)
"Visit current commit's file in another window.
This command makes sense from a `magit-file-log' buffer. "
(interactive "P")
(magit-section-action (item info "visit")
((commit)
(let ((filename (expand-file-name (car magit-refresh-args)
(concat (magit-git-dir) "../"))))
(if (file-readable-p filename)
(progn
(find-file-noselect filename)
(with-current-buffer (find-buffer-visiting filename)
(vc-revision-other-window info)))
(message "not able to access %s" filename))))))
(eval-after-load "magit.el"
'(define-key magit-log-mode-map (kbd "C-c o") 'my-magit-visit-file-at-commit))