emacs-在Windows上使用majutsu管理git
想必使用Emacs的你,应该听说过Git。虽然功能强大且成为了现代社区开发的基石之一,但Git的使用难度着实不低。幸好,我们Emacs上有一个伟大的pcakage Magit ,可以极大程度提升Git使用幸福度。
然而在Windows上,Magit的性能相当差,根据有关讨论,主要是因为magit会运行大量 git 进程来收集所需信息,而Windows上创建进程的代价又相对较高。
时间来到了2025年,在Rewrite It In Rust的风潮中,许多经典的Linux工具被Rust重写,而Git也有一个以Rust编写的相似软件:Jujutsu。简单来说,jj能够管理Git的repo,采用了简化一点的设计思路,当然也有缺少的功能。不过最重要的是,在Windows上用Majutsu+Jujutsu比Magit+Git响应速度更快。
1. 配置Git、Jujutsu
2. 配置majutsu
如果你用的emacs 30+ 的版本,可以用 use-package
的 :vc
关键字直接从Github Repo安装Majutsu。
(use-package majutsu
:vc (:url "https://github.com/0WD0/majutsu"
:rev :newest)
:bind
(("C-x j" . majutsu-log)
("C-x C-j" . majutsu-log)))
不然的话,也可以用其他方式,或者手动下载相关文件。
3. 使用majutsu
C-x j
进入majutsu界面。jujutsu的思路和git不一样,取消了暂存区等功能,当前文件的状态是一个未命名的新HEAD,commit之后就会固定。
一个简单的工作流程是:
在当前repo里进行一些变更,等觉得应该保存当前状态了,就 C-x j
然后 c
,输入commit内容,生成一个commit。
如果想上传了,就 C-x j
然后将光标移动至想更新到的commit上,再 b
s
,将 main
移动过来,最后 G
p
p
推送。
更详细的介绍,请看下面两个教程: