2つのファイルを比較する必要があります(同じファイルの2つのバージョンではなく、それらはgitによって追跡されますが、それは無関係です)。色付きの出力が必要です。どうすればそれを達成できますか?
_$ diff file_1 file_2
1,9d0
< <script ... >
< // more code
< </script>
$
_
上記のコードは、これらのファイルの違いを示していますが、色はありません。読みにくい長い差分の場合。
別の方法として、git(ニースカラー出力を使用)が2つのdifferentファイル(ファイルへの変更ではない)を比較する方法はありますか?
OSX (10.7.5)
Perlには光沢のない colordiff diffのラッパーがありますが、私は grc(generic colorizer) を好みます。
grc(generic colorizer) を使用すると、さまざまなタイプのコマンドまたは入力用の独自のラッパーを作成できます(そのようなものが好きな場合)。
以下では、grc
が/var/log/syslog
に対して実行されています(構成では、このファイルは特定の配色に設定されています)。ここでは、プロセス、pid、IP、および「接続」が強調表示されています。
もちろん、忘れないようにエイリアスを使用することをお勧めします。
alias diff="/usr/bin/grc /usr/bin/diff"
Gitを使用している場合は、それを使用するだけで、ブランチ間で非常に堅牢なdiff
ingが可能になります。
git diff master:cogs/foo.txt branch:widgets/bar.txt
リポジトリ内でgit diff
を使用する必要はありません。通常のファイルだけに使用できます。
git diff old.txt new.txt
いつものように、使いやすいようにdiff
にエイリアスを付けることができます。
alias diff="git diff"
ファイルを比較するとき、私はほとんどいつもvimを使います:
vim -d file_1 file_2
色を使用するだけでなく、ファイルを並べるので、追加/削除された行を簡単に確認できます。
Gitを 2つの異なるファイルを比較 :
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
承認された回答に基づいて構築するには:grcがこれに適しています。それはbrewでインストール可能で、箱から出していくつかの端末コマンドを色分けします。diffはその1つです。そう...
brew install grc
...システムにgrcをインストールします。次に、エイリアスを設定する必要があります。醸造の警告が解決策を提供します。次の行を.bashrc
または同様のものに追加するだけです。
source "`brew --prefix`/etc/grc.bashrc"
これにより、現在次のエイリアスが追加されます。
alias colourify="$GRC -es --colour=auto"
alias configure='colourify ./configure'
alias diff='colourify diff'
alias make='colourify make'
alias gcc='colourify gcc'
alias g++='colourify g++'
alias as='colourify as'
alias gas='colourify gas'
alias ld='colourify ld'
alias netstat='colourify netstat'
alias ping='colourify ping'
alias traceroute='colourify /usr/sbin/traceroute'
alias head='colourify head'
alias tail='colourify tail'
alias Dig='colourify Dig'
alias mount='colourify mount'
alias ps='colourify ps'
alias mtr='colourify mtr'
alias df='colourify df'