4

有一个用于 Emacs 的包,它可以让您使用撤消树,而不是仅仅使用撤消前进和后退:http ://www.emacswiki.org/emacs/UndoTree

git 有没有类似的东西,它可以让你查看提交树并选择一个?在命令行还是在 Emacs 中?

在此处输入图像描述

注意:我是 Emacs 新手,我已经安装了出色的 Emacs Live - https://github.com/overtone/emacs-live - 似乎包括 magit。Emacs Live 有一个添加自定义的系统 - 文件放在 ~/.live-packs/cannyboy-pack/ 中。其中有一个 init.el 文件,它引用另一个文件夹中的文件 - config。所以我添加了 (live-load-config-file "magit-custom.el") 并在 config 中添加了一个带有@event_jr 代码的 magit-custom.el 文件,然后在 ~/.live-packs/cannyboy-pack 中引用了它/init.el 通过添加 (live-load-config-file "magit-custom.el")

4

2 回答 2

3

在 Emacs 中,您可以使用 magit 的magit-file-log 命令查看文件的 git 提交日志树,然后按 键打开日志的 diff RETURN。我们可以在 magit 和 Emacs 的内部版本控制感知功能之上构建来直接访问文件。

  1. 下载安装magit
  2. 添加到您的“init.el”

    (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))
    
  3. 重启 Emacs

  4. 打开您感兴趣的提交历史的文件。
  5. M-x magit-file-log
  6. 去有趣的提交新闻C-c o

编辑修复缺少的键盘映射规范。

于 2013-02-08T15:48:50.127 回答
1

我认为那个magit就是你要找的。 这是一个很好的教程,展示了它的用法。

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

于 2013-02-08T10:16:13.010 回答