git diff-处理长行?
时间:2020-03-06 14:45:02 来源:igfitidea点击:
我正在文件上运行git-diff,但是更改是在一行的结尾处。
如果我使用光标键向右移动,则会丢失颜色编码,更糟糕的是,线条无法对齐,从而使更改跟踪变得更加困难。
有什么方法可以防止该问题,或者只是使行换行?
(通过mingw32运行git 1.5.5)
解决方案
这不是一个完美的解决方案,但是gitk
和git-gui
都可以显示此信息,
并具有滚动条。
遇到麻烦时,我经常求助于DiffMerge。出色的差异工具,具有在线差异突出显示功能。另外,在最新版本中,他们添加了具有水平模式的模式。
不过,我无法配置git来使用它。因此,我必须要弄乱才能首先获得文件的两个版本。
git diff的输出显示由我们使用的任何寻呼机处理。
通常,在Linux下,将使用less
。
我们可以通过设置GIT_PAGER
环境变量来告诉git使用其他分页器。如果我们不介意分页(例如,终端允许我们向后滚动),则可以尝试将" GIT_PAGER"显式设置为空,以使用寻呼机将其停止。在Linux下:
$ GIT_PAGER='' git diff
没有寻呼机,行将自动换行。
如果终端不支持彩色输出,我们也可以使用--no-color参数或者在git config文件的color部分中添加一个条目来关闭此功能。
$ GIT_PAGER='' git diff --no-color
刚刚用谷歌搜索了这个。 GIT_PAGER ='less -r'
对我有用
或者,如果我们使用更少的作为默认寻呼机,则只需在查看差异时键入-S
即可重新启用更少的换行。
我们也可以使用git config
来设置换页器。
$ git config core.pager 'less -r'
设置当前项目的寻呼机设置。
$ git config --global core.pager 'less -r'
为所有项目全局设置寻呼机