Làm cách nào tôi có thể kiếm được nhiều tiền nhất cho số tiền của mình bằng lệnh của diff diff?


9

Tôi đã thử sử dụng difflệnh linux trong quá khứ mà không gặp nhiều may mắn hay kiên nhẫn. Tôi thường kết thúc bằng một tiện ích GUI như DiffMerge hoặc Kdiff.

Gần đây tôi bắt đầu thử sử dụng difflại để so sánh các tệp trên các hệ thống từ xa thông qua ssh và tôi đã thấy -y / --side-by-sidetùy chọn này rất hữu ích, nhưng tôi vẫn cảm thấy như mình không sử dụng hầu hết tiện ích này.

Vì vậy, tôi tò mò về cách đạt được những điều sau đây:

  1. Làm nổi bật các thay đổi hoặc sử dụng mã màu để làm cho đầu ra dễ đọc hơn
  2. Hợp nhất - Chọn các dòng có sự khác biệt và thực hiện các thay đổi thành một trong các tệp

Ngoài ra, tôi không tìm thấy nhiều ví dụ hay khi googling, vì vậy nếu bạn có một số bí mật về linux-fu để tận dụng tối đa sự khác biệt, bạn có thể chia sẻ không? Tôi chủ yếu sẽ so sánh các tệp cấu hình dựa trên văn bản nhưng bất kỳ thủ thuật và mẹo nào cũng sẽ rất tuyệt vời.

Để tham khảo - Tiện ích DiffMerge dễ dàng hiển thị các thay đổi cạnh nhau với tô sáng màu. Các biểu tượng ở trên cùng cho phép bạn chuyển đổi giữa các chế độ xem "hiển thị tất cả", "hiển thị sự khác biệt" và "hiển thị sự khác biệt với bối cảnh". Rất thích một số chức năng này tại dấu nhắc lệnh.

ps: Tôi cũng nên lưu ý rằng một tùy chọn khác mà tôi thấy khá hữu ích là --suppress-common-linestôi đã tìm hiểu về bài viết blog ngắn gọn và dễ đọc này .


3
Tôi sử dụng vimdiff khá một chút.
nicerobot

@nicerobot Bạn có thể đăng bài này dưới dạng câu trả lời - nó là một công cụ rất hữu ích và hữu ích.
rozcietrzewiacz

Bạn không thể, nó miễn phí ..... Xin lỗi không thể giúp nó: D
whoami

Tôi làm hầu hết sự khác biệt của tôi trong Emacs.
Gilles 'SO- ngừng trở nên xấu xa'

@whoami - cái gì?
cwd

Câu trả lời:


9

Không theo trình tự cụ thể:

  • meld là một chương trình khác biệt rất hay, đó là sự khác biệt rất hay và sự hợp nhất ba chiều.
  • git config --global merge.conflictstyle diff3giúp bạn có đầu ra hợp nhất ba chiều để sử dụng với các công cụ như meld.
  • wdiffkhông từ khác, rất đẹp nếu được tô màu :wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
  • Để giảm thiểu hành trình trong diffđầu ra, tôi thường sử dụng tùy chọn --ignore-all-space( -w)
  • diff-ignore-moved-lines* làm những gì nó nói trên nhãn.
  • difff* có thể được sử dụng để chỉ các dòng khác nhau khớp với các trường đã cho.

* Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả và đã phát triển những điều này để giúp CLI và GUI khác biệt và hợp nhất.


1
Tôi cũng sử dụng diffusekhá nhiều.
Arcege

diff -u cũng khá đơn giản, tôi thấy vậy.
gabe.


3

Để có được màu trong khác biệt, bạn nên xem http://colordiff.sourceforge.net/ . Đây chỉ là một trình bao bọc xung quanh diff và, như vậy, tất cả các tùy chọn lệnh vẫn hoạt động.

Trong trường hợp bạn có Ubuntu, hãy viết:

    # sudo apt-get install colordiff

Có nguy cơ không đáp ứng trường hợp sử dụng của bạn, gitlà một VCS rất hay , tích hợp tốt với nhiều công cụ khác nhau và hợp nhất (cả dòng lệnh và GUI). Hãy thử nếu nó là một lựa chọn.


1

Thử sdiff

diffcũng có các tùy chọn ( -ehoặc -ed) để tạo tập lệnh hợp nhất để sử dụng vớied

sdiff, diffednên là một phần của vỏ của bạn bất cứ nơi nào bạn đi.

Phần mềm kiểm soát phiên bản của bạn có thể cũng có một diffmergecông cụ tích hợp.

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.