git diff中的-u9999999到底意味着什么?

时间:2012-10-02 17:11:13

标签: git diff

我想知道如何让git to allways显示git diff中的完整文件,而不仅仅是显示帅哥。

所以我首先使用-W选项,但我读到这实际上试图变得聪明并试图找到更改的函数上下文。我不希望git聪明。我希望git变得简单,只显示带有更改的完整文件。

所以我终于想通了你可以添加-U9999999,现在我就像WTF了!?并且想知道这是什么样的疯狂黑客以及为什么它没有在任何地方记录?

3 个答案:

答案 0 :(得分:2)

从手册:

-U<n>
--unified=<n>
Generate diffs with <n> lines of context instead of the usual three. Implies -p.

所以你告诉它用9999999行上下文显示差异,这实际上意味着整个文件。

答案 1 :(得分:2)

git diff -U9999999表示“执行统一差异并为每个大块显示9,999,999行上下文。”记录在案; git help diff显示:

       -U<n>, --unified=<n>
           Generate diffs with <n> lines of context instead of the usual
           three. Implies -p.

当然,如果你在不同区域之间有一个超过9,999,999行的文件,这实际上不会显示整个文件,但是出于所有实际目的,它总是显示整个文件。

答案 2 :(得分:0)

你告诉git使用额外的上下文行生成差异。上下文是每次更改的代码行。

如果你说

git diff -u9999999

你告诉git在每次更改时放置9999999行未更改的代码,这对于您创建的任何代码文件都应该足够了。