diff命令告诉我什么

  • 本文关键字:命令 diff 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

但我看不出有什么不同,那是怎么回事呢?

文件中的行的顺序略有不同。

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

类似地,第63行的内容被删除并移到第60行。第81行的内容被删除并移到第78行。等等…

-c添加到命令行中可能会使这一点更加清晰。-c告诉diff为每个差异提供一个3行上下文,这样您就可以更容易地看到文件之间的差异。

最新更新