撤消终端中的树样式git

撤消终端中的树样式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是否也有类似的功能,可以让您查看提交树并选择一个提交树?是在命令行上还是在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中引用了该文件。

我想这就是您要找的。 显示它的用途


您还应该看看,据说它有一个更好的用户界面。

在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))