「diff」コマンドを最大限に活用するには?

「diff」コマンドを最大限に活用するには?

diff私は過去に多くの運や忍耐なしにLinuxコマンドを試しました。私は通常DiffMergeやKdiffなどのGUIユーティリティを使用します。

私は最近リモートシステムのファイルを比較するためにSSHを再利用し始めましたが、diffこのオプションは非常に役に立ちましたが、-y / --side-by-sideまだこのユーティリティを最大限に活用できないようです。

だから、次のことを達成する方法が気になります。

  1. 変更を強調表示するか、カラーコーディングを使用して出力を読みやすくします。
  2. マージ - 別の行を選択し、ファイルのいずれかに変更を適用します。

そして、グーグルしてみても良い例があまり出ていないのでdiffを最大限に活用するためのlinux-fuのヒントがあれば共有できますか?主にテキストベースの設定ファイルを比較する予定ですが、どのようなヒントやコツでもよいでしょう。

参考までに- DiffMergeユーティリティを使用すると、色を強調表示することで変更を並べて表示するのが簡単です。上部のアイコンを使用すると、すべて表示、差分表示、および文脈的な差分表示ビューを切り替えることができます。コマンドプロンプトのいくつかの機能が好きです。

PS:また、私が非常に便利だと思ったもう一つの選択肢は、--suppress-common-lines私がこれについて学んだことです。簡潔で読みやすいブログ投稿

答え1

特別な順序はありません:

  • meld非常に良いdiffと3方向マージを実行する非常に良いdiffプログラムです。
  • git config --global merge.conflictstyle diff3meld.
  • wdiffする言葉違いがあればとても良いです。色の:wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
  • diff出力の冗長性を最小限に抑えるために、通常--ignore-all-space-w)オプションを使用します。
  • diff-ignore-moved-lines*ラベルの指示に従ってください。
  • difff*特定のフィールドで一致する行のみを比較するために使用できます。

*免責事項:私はCLIとGUIの比較とマージを助けるために著者であり、これを開発しました。

答え2

私が見つけたvimdiffとても便利です。

答え3

違いを色付けするには、見てください。http://colordiff.sourceforge.net/。これは単にdiffを囲むラッパーなので、すべてのコマンドオプションはまだ有効です。

Ubuntuがある場合は、次のように書いてください。

    # sudo apt-get install colordiff

ユースケースを満たさないリスクを取るgitことは非常に良い選択です。VCS多くの比較ツールとマージツール(コマンドラインとGUIツール)とうまく統合されています。オプションがある場合はお試しください。

答え4

努力するsdiff

diff使用するマージスクリプトを生成するオプション(-eまたは)もあります。-eded

sdiff、どこに行ってもシェルの一部でなければなりませんdiffed

diffバージョン管理ソフトウェアにはツールが組み込まれている場合もありますmerge

関連情報