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

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

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

我通过mingw32运行Git 1.5.5。


当前回答

从Git 1.5.3开始 (2007年9月)

无寻呼机选项已经可用。

git --no-pager diff

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

例子

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

Git v2.1发布说明

其他回答

或者,如果您使用less作为默认的分页器,只需键入-S,同时查看差异,以重新启用less的包装。

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

git diff --color | less -R

要使用less作为分页器并永久换行,您可以简单地启用折叠-长行选项:

git config --global core.pager 'less -+S'

这样你就不必在使用更少的时候打字了。

干杯

列出当前/默认配置:

  $ git config --global core.pager  
    less -FXRS -x2

然后更新并去掉-S,比如:

  $ git config --global core.pager 'less -FXR -x2'

-S:使比屏幕宽度长的行被剪切而不是折叠。

你也可以使用git配置来设置分页器来进行包装。

$ git config core.pager 'less -r' 

设置当前项目的寻呼机设置。

$ git config --global core.pager 'less -r' 

为所有项目全局设置寻呼机