Tiêu đề này được gọi là bộ thay đổi hoặc hunk. Mỗi hunk bắt đầu bằng một dòng có chứa, kèm theo trong @@, dòng hoặc dòng from,no-of-lines
trong tệp trước (với -
) và sau (với +
) các thay đổi. Sau đó đến các dòng từ tập tin. Các dòng bắt đầu bằng số -
bị xóa, các dòng bắt đầu bằng +
được thêm vào. Mỗi dòng sửa đổi bởi các bản vá được bao quanh với 3 dòng ngữ cảnh trước và sau.
Một sự bổ sung như sau:
@@ -75,6 +103,8 @@
foo
bar
baz
+line1
+line2
more context
and more
and still context
Điều đó có nghĩa, trong file gốc trước khi dòng 78 (= 75 + 3 dòng ngữ cảnh) thêm hai dòng. Đây sẽ là các dòng 106 (= 103 + 3 dòng ngữ cảnh) thông qua 107 sau tất cả các thay đổi.
Lưu ý sự khác biệt trong số from
(-75 so với +103), điều này có nghĩa là có những thay đổi khác trong tệp này trước phần này, thêm 28 (103 - 75) dòng mã.
Một xóa trông như thế này:
@@ -75,7 +75,6 @@
foo
bar
baz
-line1
more context
and more
and still context
Điều đó có nghĩa, xóa dòng 78 (= 75 + 3 dòng ngữ cảnh) trong file gốc. Ngữ cảnh không thay đổi sẽ nằm trên các dòng 75 đến 80 sau tất cả các thay đổi.
Lưu ý rằng from
số trong hunk này bằng (-75 và +75), điều này có nghĩa là không có thay đổi nào trước hunk này, hoặc số lượng dòng đã thêm và xóa trong các thay đổi trước là như nhau.
Cuối cùng, một sự thay đổi trông như thế này:
@@ -70,7 +70,7 @@
foo
bar
baz
-red
+blue
more context
and more
still context
Điều đó có nghĩa, thay đổi dòng 73 (= 70 + 3 dòng ngữ cảnh) trong file trước khi tất cả những thay đổi, trong đó có màu đỏ sang màu xanh. Dòng đã thay đổi cũng là dòng 73 (= 70 + 3 dòng ngữ cảnh) trong tệp sau tất cả các thay đổi.
Credit goes to Markus Bertheau.
Câu trả lời ngắn: 14 trong trường hợp của bạn là số tiền các dòng trong hunk trước khi áp dụng các thay đổi, 12 - sau. –
Giá trị 'no-of-lines' có thể không hiển thị ngay lập tức. Giá trị 'trước' là tổng của 3 dòng ngữ cảnh dẫn, số lượng '-' dòng và 3 dòng ngữ cảnh sau, trong khi giá trị 'sau' là tổng của 3 dòng ngữ cảnh dẫn, số lượng' + 'dòng và 3 dòng cuối. Trong một số trường hợp, có thêm các dòng ngữ cảnh trung gian bổ sung cũng được thêm vào các số đó. Vì vậy, tổng số dòng hiển thị thường không phải là giá trị 'no-of-lines'! –
Có một cá trích đỏ trong ví dụ đầu tiên về việc thêm 2 dòng: '@@ -75,6 +77,8 @@'. Các 75 và 77 có thể gây nhầm lẫn cho newbie nghĩ rằng có liên quan đến việc thêm 2 dòng. Trên thực tế, một ví dụ đơn giản hơn sẽ có '@@ -75,6 +75,8 @@'. Các +77 sẽ chỉ được nếu có các chỉnh sửa khác cao hơn mà thêm một mạng lưới của 2 dòng. – wisbucky