Magit: Cách thể hiện sự khác biệt trong các dòng


13

Tôi có một tập tin, tôi thực hiện một số thay đổi. Dưới đây là cách SmartGit cho thấy sự khác biệt.

thông minh

Như bạn có thể thấy nó cho thấy sự khác biệt nằm trong dòng. Nó thay đổi nền sang màu đỏ ở vị trí cụ thể. Và nó rất tốt. Tôi không cần phải dành thời gian để tìm sự khác biệt. Tôi ngay lập tức thấy sự khác biệt ở đâu.

Bây giờ nó trông như thế nào trong Magit:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy Magit nói rằng sự khác biệt nằm ở dòng WHOLE. Nó không cho thấy sự khác biệt nằm ở đâu trong dòng. Vì vậy, tôi cần phải tìm sự khác biệt bằng tay ở đâu. Tôi cần phải làm điều này mỗi lần. Nó không phải là rất so sánh. Giả sử tôi có sự khác biệt trong 20 dòng. Tôi cần dành nhiều thời gian để tìm thấy những gì thực sự thay đổi. Không được tốt lắm.

Magit có thể cho thấy sự khác biệt ở cột thực tế nơi thay đổi là? Như trong SmartGit.

Câu trả lời:


2

Nếu bạn muốn lưu trữ nó trong cấu hình của bạn, như tôi, chỉ cần thêm

(setq magit-diff-refine-hunk (quote all))

cho bạn .emacs.d/init.el


Điều này được lấy cảm hứng từ câu trả lời của phils .


16

M-x customize-option RET magit-diff-refine-hunk RET

Xem thêm magit-diff-toggle-refine-hunklệnh, ràng buộc Dt, mà bạn có thể sử dụng để đặt hành vi trong bộ đệm hiện tại. Sử dụng DC-utđể bật sàng lọc cho tất cả các khối trong bộ đệm; mặt khác, chỉ các tinh chỉnh cho hunk hiện được chọn mới được hiển thị tại bất kỳ thời điểm nào (cập nhật khi bạn di chuyển giữa các hunk).

Để cấu hình sự xuất hiện của các khu vực 'tinh' của diff, sử dụng M-x customize-facecho diff-refine-added, diff-refine-changeddiff-refine-removedkhuôn mặt.


1

Đối với diffs để làm việc magit cần có khả năng sử dụng diffthực thi.

Vì vậy, hãy chắc chắn rằng M-x ielm RET (executable-find "diff") RETtrả lại không nil. Nếu nó trả về, hãy nilthêm đường dẫn đến thư mục chứa tệp thực thi diff của bạn tới exec-pathbiến vớiM-x ielm RET (add-to-list 'exec-path "c:/Program Files/Git/usr/bin") RET

Tiếp theo, bạn cần chắc chắn rằng pháp sư thực sự đang sử dụng diffthực thi đó . Đối với điều đó, hãy nhập bộ đệm trạng thái magit, nhấn Dvà đảm bảo rằng -x Disallow external diff drivers (--no-ext-diff)nó đã bị tắt. Nếu không thì tắt nó đi -x, đặt nó làm mặc định svà sau đó lưu mặc định với Dw.

Sau khi hoàn thành, bạn có thể sử dụng Dtđể chuyển đổi magit-diff-refine-hunktùy chọn cho bộ đệm hiện tại của mình hoặc làm theo câu trả lời này bằng phils để làm cho cài đặt này lâu dài hơn.


0

Hãy thử ediff-toggle-ignore-casehoặc compare-ignore-casebiến. Tôi đoán là công cụ diff của bạn đang bỏ qua trường hợp. Cũng có thể ở các tùy chọn khác nhau (Tôi không chắc cài đặt là gì).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.