3

问题:

  1. git add -p在 emacsshelleshell
  2. magit(经常建议在 emacs 中从 shell 中使用 git 的替代方法)在 Windows 上很糟糕(它非常慢。)
  3. 保持 cygwin 窗口打开并使用它,git add -p然后在它和 emacs 之间来回切换是可行的,但有点烦人。

有什么方法可以在 Microsoft Windows 下让我git add -p在 shell 或 eshell 中正常工作,或者变得magit有点可用?

4

2 回答 2

1

如果 magit 很慢,那可能表明您的 windows git 客户端有问题?

我会首先研究这一点(因为git add -p真的不适合 magit 的界面,IMO)。

您使用的确切工具(及其版本)是什么?

您绝对应该检查 magit 问题跟踪器,看看是否有已知原因导致 magit 运行缓慢。

于 2012-03-17T03:33:48.800 回答
1

你有没有尝试过:

% EDITOR=emacsclient git add -e <files>

然后在运行的 emacs 中使用 diff-mode 命令以交互方式编辑补丁的大块?

然后,您将能够在补丁中的任何特定行拆分大块diff-split-hunk并完全删除大块diff-hunk-kill(当然这些命令绑定到较短的键序列以便快速交互使用)。编辑完补丁后,使用C-x #来保存它并退出 emacsclient 会话(这样您就可以返回到您的 shell)。

(emacsclient,如果你不熟悉的话,它是一个程序,它可以让你在已经运行的 emacs 中打开文件,只要后者已经启动了一个服务器供 emacsclient 连接;参见M-x describe-function server-start

请注意,您可能希望稍微自定义 emacsclient 与 git 交互的方式;例如,请参阅以下答案:Using ediff as git mergetoolHow to set the exit status for emacsclient

于 2013-04-18T09:27:39.333 回答