我在一个文件上运行git-diff,但是更改位于一个长行的末尾。

如果我使用光标键向右移动,它就失去了颜色编码——更糟糕的是,线条没有对齐——这使得跟踪变化变得更加困难。

有没有办法防止这个问题,或者简单地让行换行?

我通过mingw32运行Git 1.5.5。


当前回答

你可以简单地将git diff的输出输出到more:

git diff | more

其他回答

Mac OSX:除了某人45的“-S”而“less”是“running”之外,其他的答案都不适合我。要使换行持久,需要执行以下操作:

git config --global core.pager 'less -+$LESS -FRX'

git diff输出的显示由您正在使用的分页器处理。

通常,在Linux下,使用较少。

您可以通过设置GIT_PAGER环境变量告诉git使用不同的分页器。如果您不介意分页(例如,您的终端允许您回滚),您可以尝试显式地将GIT_PAGER设置为空以停止使用分页器。在Linux下:

$ GIT_PAGER='' git diff

如果没有寻呼机,行就会自动换行。

如果你的终端不支持彩色输出,你也可以使用——no-color参数关闭它,或者在你的git配置文件的color部分中放入一个条目。

$ GIT_PAGER='' git diff --no-color

直到现在还没有人指出这一点。它很容易记住,不需要在git配置中做额外的配置

git diff --color | less -R

从Git 1.5.3开始 (2007年9月)

无寻呼机选项已经可用。

git --no-pager diff

我如何防止git差异从使用寻呼机?

例子

从v2.1开始,wrap是默认的

Git v2.1发布说明

你可以简单地将git diff的输出输出到more:

git diff | more