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

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

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

我通过mingw32运行Git 1.5.5。


当前回答

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

git diff | more

其他回答

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

git diff --color | less -R

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

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

$ git config core.pager 'less -r' 

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

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

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

遇到麻烦时,我经常求助于DiffMerge。优秀的差异工具,具有inline diff高亮。此外,在最新版本中,他们还添加了一个水平模式。

不过,我还没能配置git来使用它。所以我必须先把文件的两个版本都弄出来。

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

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