关于GIT中diff命令的-u param的一些疑问

时间:2016-07-22 08:49:13

标签: git bash diff git-bash

我是 GIT 的新手,我有以下疑问。

我正在使用此命令隔离包含不同文本的2个txt文件:

$ diff -u file.txt updated.txt
--- file.txt    2016-07-22 10:38:35.898833500 +0200
+++ updated.txt 2016-07-22 10:39:36.322025800 +0200
@@ -1 +1 @@
-blablabla
\ No newline at end of file
+blablabla ciao

我认为这只意味着第一个文件包含 blablabla ,而第二个文件在 blablabla 之后还包含 ciao 字。它是对输出的正确解释吗?

diff命令的 -u 参数究竟是什么意思?

然后我执行 diff 而没有 -u 参数:

$ diff file.txt updated.txt
1c1,9
< blablabla
\ No newline at end of file
---
> blablabla ciao
>
>
>
>
>
>
>
>

这个输出对我来说似乎更清楚,因为&lt; menans file.txt 的行包含的信息较少 updated.txt < / strong>和&gt; 表示 updated.txt 包含的信息比 file.txt 更多。

这是对的吗?

-u 参数究竟是什么以及什么时候方便使用它?

1 个答案:

答案 0 :(得分:1)

-u表示使用统一差异格式,一种更紧凑的上下文差异。它包括三行上下文,以便在存在其他更改时更可能应用diff,即,如果源文件不是原始文件,但是例如在要修补的块之前插入了行。

对于文件开头和结尾的简短文件和编辑,显然不能成为上下文行。