问题:
git add -p
似乎无法用于emacs shell
或eshell
magit
(在emacs中使用git的常用替代方法)在Windows上吸球(它的速度非常慢。)git add -p
,然后在它和emacs之间来回切换是可行的,但不仅有点烦人。有没有办法在Microsoft Windows下我可以让git add -p
在shell或eshell中运行良好,或者让magit
有点可用?
答案 0 :(得分:1)
如果magit很慢,那可能表明你的windows git客户端有问题吗?
我首先要研究一下(因为git add -p
真的不会对魔法师的界面,IMO产生影响。
您使用的确切工具(及其版本)是什么?
你一定要检查magit问题跟踪器,看看是否有已知的原因可能导致magit速度变慢。
答案 1 :(得分:1)
你试过了吗?
% EDITOR=emacsclient git add -e <files>
然后在运行的emacs中使用diff-mode命令以交互方式编辑补丁的深度?
然后,您将能够在diff-split-hunk
的任何特定行中拆分补丁,并使用diff-hunk-kill
完全删除黑客(当然,这些命令绑定到较短的键序列,以便快速交互使用)。编辑补丁后,使用C-x #
保存并退出emacsclient会话(以便您可以返回shell)。
(emacsclient,如果您不熟悉它,是一个程序,可以让您在已经运行的emacs中打开文件,只要后者启动服务器以便emacsclient连接;请参阅{{ 1}})
请注意,您可能希望自定义emacsclient与git的交互方式;例如,请参阅以下答案:Using ediff as git mergetool和How to set the exit status for emacsclient。