我想知道diff
和git-diff
创建的文件/修补程序的格式有何不同。
我知道在diff
中有3个("普通","紧凑" -c
一个"统一" {{1一个)。
但是可能存在一些差异,在某些情况下,您无法自由交换-u
和git diff
。所以:
diff
和git diff
用于同一个文件?答案 0 :(得分:2)
- 您是否可以将
醇>git diff
和diff
用于同一个文件?
如果文件位于git repo工作树中,那么您将能够使用git diff
来显示该文件的更改(针对git repo引用的同一文件,如索引或blob对象)。
这不同于' diff
',它会比较文件(意味着你需要两个文件,而不是像git repo中使用的git diff一样)
由于hvd指出in the comments:
You can use
git diff
outside any work tree and pass it two files。
因此,您可以在几乎任何可以使用git diff
的情况下使用diff
相反的情况并非如此
git diff --color-words --no-index file1 file2
- 格式之间有什么区别?
醇>
git diff
可以模拟任何差异格式(统一格式,原始格式......)
它还具有git特定格式(--summary
,--stat
,...)
另见:
git diff
将包含一个git标题,其中包含"相似性索引"。
每个差异块的帅哥显示为very similar to a diff -u。
- 如果您无法交换命令(请参阅1.)如何将文件转换为其他格式,以便您可以将其与其他命令一起使用?
醇>
您可以使用原始格式转换git diff
,或使用raw:--patch-with-raw
进行修补
反之亦然:you can apply a diff to a git repo。
- 如果您可以交换命令(参见1.):是否建议这样做?
醇>
如果您没有安装git(请参阅the previous example)
- 这两个命令创建的文件是否存在其他显着差异?
醇>
否:应用由diff
或git diff
生成的修补程序的结果应该相同。