2012-03-16 5 views
3

問題:Windowsのemacsで "git add -p"を使う最良の方法は何ですか?

  1. git add -pshellまたはeshell
  2. magit(emacsのシェルからのgitを使って頻繁に提案代替)は、Windows上でボールを吸う(。それは恐ろしく遅いです)
  3. emacsのいずれかで使用できないようですcygwinのウィンドウを開いたままにして、git add -pのためにそれを使用して、そしてそれとemacsの間を行き来することは可能ですが、少し面倒です。

のMicrosoft Windowsの下で、私はどちらかgit add -pはシェルでうまくいくかESHELLまたは代わりmagitは多少使えるように取得するために得ることができること方法はありますか?

+0

'ansi-term 'はウィンドウで動作しますか?もしそうなら、これは 'git add -p'のようなインタラクティブなコマンドを実行できる完全に可能な端末を作るべきです – Francesco

答えて

1

magitが遅い場合は、Windows gitクライアントに問題があると思われますか?

私はそれを最初に考えています(git add -pは実際にはmagitのインターフェースであるIMOにろうそくを持っていないので)。

使用している正確なツール(およびそのバージョン)は何ですか?

magit issue trackerをチェックして、magitが遅い原因が分かっているかどうかを確かめてください。

% EDITOR=emacsclient git add -e <files> 

、その後の対話形式でパッチのハンクを編集するには、実行しているのemacsで差分モードのコマンドを使用して:

+0

cygwin git 1.7.5.1を使う – Whisker

1

は、あなたがしようとしたことがありますか?

次にあなたがdiff-split-hunkと、特定の行でのパッチの中にハンクを分割し、diff-hunk-killで完全にハンクを取り除くことができるようになります(もちろん、これらのコマンドは、迅速な対話的利用のための短いキーシーケンスにバインドされています)。パッチの編集が完了したら、C-x #を使用して保存し、emacsclientセッションを終了します(シェルに戻ることができます)。

(あなたがそれに慣れていない場合のemacsclientは、限り、後者はに接続するのemacsclientのためのサーバを起動したとして、既に実行中のEmacsでファイルを開くをできるようになるプログラムです。M-x describe-function server-startを参照してください)

emacsclientとgitとのやりとりのやり方を少しカスタマイズしたほうがいいでしょう。たとえば、これらの回答を参照してください:Using ediff as git mergetoolHow to set the exit status for emacsclient