Ada pertanyaan di SO tentang pemisahan bakhil dengan menggunakan magit, dan dua solusi yang diberikan adalah dengan mem-stage wilayah (menandai wilayah, menekan tahap), atau mengecilkan / menumbuhkan semua bakhil menggunakan +
& -
. Bukan itu yang saya kejar.
Dalam status buffer magit, saya ingin membagi sebongkah menjadi dua bakhil, pada titik, atau setidaknya pada garis di sekitar titik.
Menghidupkan ini (permisi format diff buruk saya)
@@ blah blah blah
- foo
+ bar
+ baz
+
Ke
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Saat intinya ada di bar.
Motivasi:
baz
menjadi pernyataan debug, jadi saya ingin menghapusnya dari komitfoo
&bar
tanpa menghilangkannya.bar
danbaz
hanya terkait sebagian, yang berarti bahwa perubahan mereka tidak boleh dalam komit yang sama.bar
besar danbaz
kecil, membuatnya jauh lebih mudah untuk membagi potongan daripada memilihbar
Mirip dengan titik terakhir, katakan komit 20 baris berisi satu baris tengah yang tidak boleh dipentaskan. Akan lebih mudah untuk membagi & mengatur dua bakhil atas dan bawah mengabaikan yang tengah daripada menggunakan wilayah.
Hal di atas dapat muncul kadang-kadang ketika presentasi diff akan memisahkan sebelum dan sesudah sesuatu yang telah dimodifikasi, dan memiliki sesuatu yang tidak membantu di tengah. misalnya
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunk
yang melakukan hal itu. TKI permintaan Anda adalah cara untuk menggunakan diff-split-hunk
(atau sesuatu yang setara) dari buffer status-magit.