Unix将一行定义为“以行结束符结尾的字符串”。因此,几乎所有基于Unix的编辑器都有这样的行:
1\n
2\n
3\n
在哪里?
\n
表示lf字符,表示行尾。如果您在这里添加第四行,它实际上只是一个新行。
Windows不共享此定义,许多基于Windows的编辑器考虑CR+LF组合(如下所示
\r\n
)作为线条
分离器
,不是线条
终结者
. AS
git
注意到“文件末尾没有换行符”,您的文件是
1\r\n
2\r\n
3
当你添加另一行时,你
1\r\n
2\r\n
3\r\n
4
所以从
吉特
以Unix为中心的观点,您通过附加
\rn
对它。
现在去误会一下
diff
输出格式:默认为,
微分
正在为您提供“统一”格式,并在更改周围提供一些上下文。这些变化只是
+
或
-
前缀:删除了原来的第3行,插入了新的第3行和第4行。符号
@@ -1,3 +1,4 @@
下面的代码片段描述了旧文件的第1-3行和新文件的第1-4行。通常,统一的diff输出默认也会在每次更改前后为您提供两行上下文,以帮助人类准确理解更改的内容。(
-U2
)如果不需要上下文,可以使用
-U0
.