Có một câu hỏi về SO về việc tách những con chó săn bằng magit, và hai giải pháp được đưa ra là hoặc là giai đoạn khu vực (đánh dấu một khu vực, giai đoạn nhấn) hoặc để thu nhỏ / phát triển tất cả những con chó săn bằng cách sử dụng +
& -
. Đó không phải là những gì tôi theo đuổi.
Trong bộ đệm trạng thái của pháp sư, tôi muốn chia một khối thành hai khối, tại điểm hoặc ít nhất là tại các đường xung quanh điểm.
Biến cái này (xin lỗi định dạng khác biệt xấu của tôi)
@@ blah blah blah
- foo
+ bar
+ baz
+
Vào
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Khi điểm là trên thanh.
Động lực:
baz
là một tuyên bố gỡ lỗi, vì vậy tôi muốn loại bỏ nó khỏi cam kết củafoo
&bar
không loại bỏ nó.bar
vàbaz
chỉ liên quan một phần, có nghĩa là những thay đổi của họ không nên trong cùng một cam kết.bar
là lớn vàbaz
nhỏ, làm cho việc phân chia hunk dễ dàng hơn nhiều so với chọnbar
Tương tự như điểm cuối cùng, giả sử một cam kết 20 dòng chứa một dòng duy nhất ở giữa không nên được dàn dựng. Sẽ dễ dàng hơn để phân chia & giai đoạn hai người trên và dưới bỏ qua người đứng giữa hơn là sử dụng khu vực.
Đôi khi ở trên có thể phát sinh khi trình bày khác biệt sẽ phân tách trước và sau của một cái gì đó đã được sửa đổi, và có một cái gì đó không có ích ở giữa. ví dụ
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunk
thực hiện điều đó. IOW yêu cầu của bạn là một cách để sử dụng diff-split-hunk
(hoặc một cái gì đó tương đương) từ bộ đệm trạng thái magit.