我很困惑,因为我看不出这些文件有什么不同。我运行以下内容:
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行上下文,这样您就可以更容易地看到文件之间的差异。