-->

git的差异 - 处理排长队?(git diff - handling long lines?)

2019-07-04 06:08发布

我运行的git-DIFF上的文件,但这种变化是在一个长行的末尾。

如果我使用光标键移动右失去颜色编码和糟糕的线路不排队,使其难以跟踪变化。

有没有一种方法,以防止这个问题,或简单地使线换呢?

(通过的mingw32运行git 1.5.5)

Answer 1:

输出的显示git diff是什么寻呼机您正在使用处理。

通常,在Linux下, less会被使用。

你可以告诉git的通过设置使用不同的寻呼机GIT_PAGER环境变量。 如果你不介意的寻呼(例如,您的终端可以让你回滚)你可以尝试明确设置GIT_PAGER清空使用寻呼机来阻止它。 在Linux下:

$ GIT_PAGER='' git diff

如果没有一个寻呼机,该行会自动换行。

如果你的终端不支持彩色输出,您也可以使用要么关闭这个功能--no-color的说法,或者把你的混帐配置文件的彩色部分的条目。

$ GIT_PAGER='' git diff --no-color


Answer 2:

或者,如果使用得少作为默认寻呼机只需键入-S同时观看diff来重新启用包装较少。



Answer 3:

您还可以使用git config设置寻呼机包。

$ git config core.pager 'less -r' 

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

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

全球范围内设置寻呼机的所有项目



Answer 4:

随着充分肯定乔希迪尔在评论到这个答案 ,我仍然觉得这应该是你们自己的答案,所以将其添加:

以应对排长看到差异的一种方法是使用面向字的差异。 这是可以做到的:

git diff --word-diff

在这种情况下,你会得到一个显著不同diff的输出,即明确告诉您什么行内改变。

例如,而不是让这样的事情:

diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
-this is a short line
+this is a slightly longer line

你可能会得到这样的:

diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
this is a [-short-]{+slightly longer+} line

或者,用彩色,而不是这样的:

你可能会得到这样的:

现在,如果您要比较一个很长的线,你可能仍然有已经解决,显然是满意的,在其他的答案您最初描述的寻呼机的情况,和问题。 但愿这给你一个新的工具,不过,更容易识别就行了什么变化。



Answer 5:

少用为寻呼机,使换行永久你可以简单地使折叠长行选项:

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

这样,您就不必在使用更少的输入。

干杯



Answer 6:

只要用Google搜索了这一个。 GIT_PAGER='less -r'对我的作品



Answer 7:

Mac OSX上:其他答案都不对,除了someone45的“-S”,而较少被运行为我工作。 它采取了如下使自动换行持续性:

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


Answer 8:

由于Git的1.5.3( 2007年9月 )

一个--no-pager选项已经可用。

git --no-pager diff

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

与2.1版开始,包是默认

Git的V2.1版本说明



Answer 9:

八年后,我找到了答案优越,从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`

现在你管通过git的差异倍,第一,然后再少:包裹,少页,高度是正确的,保持语法高亮显示。



Answer 10:

你可以简单地管git的差异的输出更多:

git diff | more


Answer 11:

不是一个完美的解决方案,但gitkgit-gui都能表现出这个信息,并有滚动条。



Answer 12:

当您使用“git的差异”,它的显示多个页面(你看“:”在页面结束)在这种情况下,你可以键入“-S”,然后按回车(S应该是资本)。 它将切换倍长行。



Answer 13:

没有人指出这至今。 它很简单,记住并没有额外的配置需要在混帐配置做

git diff --color | less -R


Answer 14:

列出当前/默认配置:

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

然后更新并留下了像-S:

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

了-S:使线比所述屏幕的宽度更长的时间来被切碎而不是折叠。



Answer 15:

当遇到困难时,我经常求助于DiffMerge。 优秀的DIFF工具,在网上DIFF突出。 此外,在最新的版本中加入它们的模式有一个水平模式。

我一直没能配置git的使用它,但。 所以,我必须围绕淤泥获得文件的两个版本第一。



Answer 16:

最简单的方式做到这一点,在我的情况下,我使用Linux操作系统

git diff > text.txt

此命令行创建和放的text.txt内git的差异输出,那么你可以用例如崇高文本其他文本编辑器打开它。

sublime text.txt

希望它可以帮助你。

不要忘了之后将其删除。 = 0)



文章来源: git diff - handling long lines?