SOにはmagitを使用してハンクを分割することに関する質問があります。指定された2つの解決策は、リージョンをステージングする(リージョンをマーク、ヒットステージにする)か、+&を使用してすべてのハンクを縮小/成長させること-です。それは私が望んでいることではありません。
magitのステータスバッファーでは、ポイントで、または少なくともポイントの周囲の行で、ハンクを2つのハンクに分割します。
これを回す(私の悪いdiffフォーマットを許して)
@@ blah blah blah
- foo
+ bar
+ baz
+
に
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
ポイントがバー上にあるとき。
動機:
bazデバッグ文であるため、foo&のコミットから削除barせずに削除したいと思います。barそしてbaz部分的にしかその変更がコミット同じであってはならないことを意味し、関連しています。bar大きくてbaz小さく、選択するよりもハンクを分割する方がはるかに簡単ですbar最後のポイントと同様に、20行のコミットには、ステージングすべきではない中央の単一行が含まれているとします。リージョンを使用するよりも、中央のハンクを無視して上下の2つのハンクを分割してステージングする方が簡単です。
diffプレゼンテーションが変更されたものの前後を分離し、途中で役に立たないものを持っている場合に、上記が時々発生する可能性があります。例えば
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunkそれを行うコマンドがあることを指摘したいだけです。IOWのリクエストはdiff-split-hunk、magit-statusバッファーからの(または同等の)使用方法を求めています。