mip*_*phe 42 terminal diff git macos
我需要比较两个文件(不是同一个文件的两个版本,但是它们由 git 跟踪,但这无关紧要)并且我想要一些彩色输出,我该如何实现?
$ diff file_1 file_2
1,9d0
< <script ... >
< // more code
< </script>
$
Run Code Online (Sandbox Code Playgroud)
上面的代码向我展示了这些文件之间的区别,但是没有任何颜色。对于难以阅读的较长差异。
或者,有没有办法让 git(我确实有很好的颜色输出)来区分两个不同的文件(而不是对文件的更改)?
OSX (10.7.5)
Phi*_*rns 47
比较文件时,我几乎总是使用 vim:
vim -d file_1 file_2
Run Code Online (Sandbox Code Playgroud)
它不仅使用颜色,还排列文件,因此更容易看到添加/删除的行。
jno*_*ack 45
Perl对 diff有一个乏味的colordiff包装器,但我更喜欢grc (generic colorizer)。
使用grc (generic colorizer),您可以为不同类型的命令或输入编写自己的包装器(如果您喜欢那种东西)。
下面,grc
正在运行/var/log/syslog
(在配置中,此文件设置为特定的配色方案),其中突出显示进程、pid、IP 和“连接”。
当然,建议使用别名以免忘记:
alias diff="/usr/bin/grc /usr/bin/diff"
Run Code Online (Sandbox Code Playgroud)
如果你有 git,你可能只想使用它,它允许非常健壮的diff
ing,甚至跨分支。
git diff master:cogs/foo.txt branch:widgets/bar.txt
Run Code Online (Sandbox Code Playgroud)
您不必git diff
在存储库中使用,您可以仅将其用于常规文件。
git diff old.txt new.txt
Run Code Online (Sandbox Code Playgroud)
与往常一样,您可以使用别名diff
以方便使用。
alias diff="git diff"
Run Code Online (Sandbox Code Playgroud)
Dav*_*les 10
Homebrew有一个GNU diffutils公式,包括支持颜色的命令。diff
$ brew install diffutils
Run Code Online (Sandbox Code Playgroud)
$ /usr/local/bin/diff --color -r -c foo bar
Run Code Online (Sandbox Code Playgroud)
小智 9
以已批准的答案为基础:grc对此非常有用。它可以与 brew 一起安装,并为许多开箱即用的终端命令着色,diff 就是其中之一。所以...
brew install grc
Run Code Online (Sandbox Code Playgroud)
...安装 grc 到您的系统。然后你需要设置你的别名,brew 警告提供了一个解决方案。只需将以下行添加到您的.bashrc
或类似的。
source "`brew --prefix`/etc/grc.bashrc"
Run Code Online (Sandbox Code Playgroud)
这将当前添加以下别名:
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'
Run Code Online (Sandbox Code Playgroud)
你可以让 git 来区分两个不同的文件:
git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21528 次 |
最近记录: |