GNU/Linux >> Linux の 問題 >  >> Linux

差分が好きではありませんか?代わりにMeldを使用してください

Meldは、コードとデータファイルを操作するための私の不可欠なツールの1つです。これはグラフィカルな差分ツールなので、差分を使用したことがある場合 コマンドを実行し、出力を理解するのに苦労しました。Meldがお手伝いします。

これがプロジェクトのウェブサイトからの素晴らしい説明です:

「Meldは開発者を対象とした視覚的な差分およびマージツールです。Meldはファイル、ディレクトリ、バージョン管理されたプロジェクトの比較に役立ちます。ファイルとディレクトリの両方の双方向および3方向の比較を提供し、多くの一般的なバージョン管理システムをサポートしています。 。

「Meldは、コードの変更を確認し、パッチを理解するのに役立ちます。回避し続けるそのマージで何が起こっているのかを理解するのにも役立つ場合があります。」

MeldはDebian/Ubuntuシステム(Raspbianを含む)に次のコマンドでインストールできます:

$ sudo apt install meld

Fedoraなどでは、次のようになります。

$ sudo dnf install meld

Meldはクロスプラットフォームです。Chocolatelyパッケージマネージャーを使用したWindowsインストールがあります。 macOSでは公式にはサポートされていませんが、Macで利用できるビルドがあり、Homebrewに次のコマンドでインストールできます。

$ brew cask install meld

追加のオプションについては、Meldのホームページを参照してください。

メルドとdiffコマンド

2つの類似したファイルがあり(おそらく一方が他方の変更バージョンである)、それらの間の変更を確認したい場合は、差分を実行できます。 ターミナルでの違いを確認するコマンド:

この例は、 conway1.pyの違いを示しています およびconway2.py 。それは私が:

であることを示しています
  • シェバンとセカンドラインを削除しました
  • 削除された(オブジェクト) クラス宣言から
  • クラスにdocstringを追加しました
  • 生きているの順序を入れ替えました およびネイバーズ==2 メソッドで

メルドを使用した同じ例を次に示します。 指図。次のコマンドラインから同じ比較を実行できます:

$ meld conway1.py conway2.py

はるかに明確です!

矢印をクリックすると、ファイル間の変更を簡単に確認したり、変更をマージしたりできます(どちらの方法でも機能します)。ファイルをライブで編集することもできます(Meldは、入力時にライブ比較を行う単純なテキストエディタとしても機能します)。ウィンドウを閉じる前に、必ず保存してください。

3つの異なるファイルを比較して編集することもできます:

メルドのGit認識

うまくいけば、Gitのようなバージョン管理システムを使用しています。その場合、比較は2つの異なるファイル間ではなく、現在の作業ファイルとGitが認識しているファイルの違いを見つけるために行われます。 Meldはこれを理解しているため、 meld conway.pyを実行すると 、ここで conway.py はGitによって認識されており、最後のGitコミット以降に行われた変更が表示されます:

現在のバージョン(右側)とリポジトリバージョン(左側)で行われた変更を確認できます。前回のコミット以降、メソッドを削除し、パラメーターとループを追加したことがわかります。

meldを実行する場合。 、現在のディレクトリ(または、ルートにある場合はリポジトリ全体)のすべての変更が表示されます:

1つのファイルが変更され、別のファイルがバージョン管理されていないことがわかります(つまり、Gitの新機能であるため、 git addする必要があります。 比較する前のファイル)、および他の多くの変更されていないファイル。上部にあるアイコンによって、さまざまな表示オプションが提供されます。

2つのディレクトリを比較することもできます。これは便利な場合があります:

結論

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

通常のユーザーでさえ、diffとの比較を解読するのは難しいと感じることがあります。 Meldが提供する視覚化は、ファイル間で変更されたもののトラブルシューティングに大きな違いをもたらすことがわかりました。その上、Meldにはバージョン管理についての役立つ認識があり、Gitコミット全体をあまり考えずに比較するのに役立ちます。 Meldを試して、トラブルシューティングを少し簡単にしてください。


これは元々BenNuttallのToolingブログで公開されており、許可を得て再利用されています。


Linux
  1. Grepコマンドを使用してファイル内のテキストを検索する方法

  2. Linuxでmoveコマンドを使用する5つの方法

  3. LinuxでNetcatを使用してファイルを転送する方法

  1. Logrotateを使用してログファイルを管理する方法

  2. Linux の find コマンドを使用してファイルを検索する方法

  3. デフォルトの pip の代わりに python2.7 pip を使用する方法

  1. cronjobsの代わりにsystemdタイマーを使用する

  2. $((Expr))の代わりに$ [Expr]を使用しますか?

  3. Linux – Udhcpcの代わりにOpenwrtでDhcpcdを使用する方法は?