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

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

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

我通过mingw32运行Git 1.5.5。


当前回答

列出当前/默认配置:

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

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

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

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

其他回答

八年后,我从https://superuser.com/questions/777617/line-wrapping-less-in-os-x-specifically-for-use-with-git-diff:上找到了一个更好的答案

git config core.pager `fold -w 80 | less`

现在你通过fold管道git差异,首先,然后less: wrapped, less page-height是正确的,保持语法高亮显示。

当你使用“git diff”,它显示了几个页面(你看到“:”在页面的末尾),在这种情况下,你可以输入“-S”并按enter。(S应为大写)。它将切换折叠长行。

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

不是一个完美的解决方案,但gitk和git-gui都可以显示这个信息, 还有滚动条。

我在谷歌上搜了一下。GIT_PAGER='less -r'适合我