diff命令告诉我什么?

时间:2020-07-08 18:14:10

标签: diff git-diff

我很困惑,因为这些文件没有区别。我运行以下命令:

diff -B -w -b foo/user_advances.go bar/user_advances.go

我明白了:

36a37
>   Executed        bool            `boil:"executed" json:"executed" toml:"executed" yaml:"executed"`
40d40
<   Executed        bool            `boil:"executed" json:"executed" toml:"executed" yaml:"executed"`
59a60
>   Executed        string
63d63
<   Executed        string
77a78
>   Executed:        "executed",
81d81
<   Executed:        "executed",
143a144
>   Executed        whereHelperbool
147d147
<   Executed        whereHelperbool
161a162

但是我在这里看不到任何区别,所以怎么回事?

1 个答案:

答案 0 :(得分:0)

这是怎么回事,文件中的行的顺序略有不同。

36a37意味着必须将以下文本添加到第36行之后的第一个文件中,以获取第二个文件中的内容。 40d40意味着必须从第一个文件的第40行中删除以下文本,才能获取第二个文件中的内容。由于两种情况下的文本都相同,这意味着第40行的内容已删除并移至第37行。

同样,删除第63行的内容并将其移至第60行。删除第81行的内容并将其移至第78行。依此类推...

在命令行中添加-c可能会更清楚。 -c告诉diff为每个差异提供三行上下文,因此您将更容易看到文件之间的差异。