我在一个文件上运行git-diff,但是更改位于一个长行的末尾。
如果我使用光标键向右移动,它就失去了颜色编码——更糟糕的是,线条没有对齐——这使得跟踪变化变得更加困难。
有没有办法防止这个问题,或者简单地让行换行?
我通过mingw32运行Git 1.5.5。
我在一个文件上运行git-diff,但是更改位于一个长行的末尾。
如果我使用光标键向右移动,它就失去了颜色编码——更糟糕的是,线条没有对齐——这使得跟踪变化变得更加困难。
有没有办法防止这个问题,或者简单地让行换行?
我通过mingw32运行Git 1.5.5。
当前回答
我在谷歌上搜了一下。GIT_PAGER='less -r'适合我
其他回答
git diff输出的显示由您正在使用的分页器处理。
通常,在Linux下,使用较少。
您可以通过设置GIT_PAGER环境变量告诉git使用不同的分页器。如果您不介意分页(例如,您的终端允许您回滚),您可以尝试显式地将GIT_PAGER设置为空以停止使用分页器。在Linux下:
$ GIT_PAGER='' git diff
如果没有寻呼机,行就会自动换行。
如果你的终端不支持彩色输出,你也可以使用——no-color参数关闭它,或者在你的git配置文件的color部分中放入一个条目。
$ GIT_PAGER='' git diff --no-color
你可以简单地将git diff的输出输出到more:
git diff | more
当你使用“git diff”,它显示了几个页面(你看到“:”在页面的末尾),在这种情况下,你可以输入“-S”并按enter。(S应为大写)。它将切换折叠长行。
遇到麻烦时,我经常求助于DiffMerge。优秀的差异工具,具有inline diff高亮。此外,在最新版本中,他们还添加了一个水平模式。
不过,我还没能配置git来使用它。所以我必须先把文件的两个版本都弄出来。
直到现在还没有人指出这一点。它很容易记住,不需要在git配置中做额外的配置
git diff --color | less -R