返回

git diff与linux diff之unified format

后端

前言

前面有一篇文章《一个有些意思的项目--文件夹对比工具(一)》,里面简单讲了下diff算法之--

1. diff 工具简介

diff 是一个非常有用的命令行工具,用于比较两个文件或目录之间的差异。diff 工具的输出通常会以一种称为“unified format”的格式显示。unified format 是一种易于阅读和理解的格式,它可以清楚地显示两个文件或目录之间的差异。

2. git diff 工具简介

git diff是git用来比较仓库中两个提交之间差异的工具。git diff的输出通常也会以unified format的格式显示。unified format是一种易于阅读和理解的格式,它可以清楚地显示两个提交之间的差异。

3. linux diff 工具简介

linux diff是Linux系统自带的diff工具。linux diff的输出通常也会以unified format的格式显示。unified format是一种易于阅读和理解的格式,它可以清楚地显示两个文件或目录之间的差异。

4. unified format 输出格式

unified format 输出格式通常包含以下几个部分:

  • 文件名:显示正在比较的两个文件或目录的名称。

  • 行号:显示正在比较的两个文件或目录中每一行的行号。

  • 差异标记:显示两个文件或目录中每一行的差异。差异标记通常使用以下符号表示:

    • +:表示在第二个文件或目录中添加了一行。
    • -:表示在第一个文件或目录中删除了一行。
    • :表示两个文件或目录中的两行相同。
  • 差异内容:显示两个文件或目录中每一行的差异内容。

5. unified format 输出格式示例

以下是一个 unified format 输出格式的示例:

--- a/file1.txt
+++ b/file2.txt
@@ -1,3 +1,4 @@
-This is line 1.
-This is line 2.
+This is line 1.
+This is line 2.
+This is line 3.
 This is line 4.

在这个示例中,a/file1.txt 和 b/file2.txt 是正在比较的两个文件。@@ -1,3 +1,4 @@ 表示正在比较的两个文件的第 1 行到第 3 行。- 表示在第一个文件或目录中删除了一行。+ 表示在第二个文件或目录中添加了一行。 表示两个文件或目录中的两行相同。

6. 结论

unified format 是一种易于阅读和理解的格式,它可以清楚地显示两个文件或目录之间的差异。unified format 是 diff 工具中常用的输出格式之一。