git diff

时间:2024-04-14 13:59:58

1. 如何将库文件的变化生成到patch中

git diff --binary commit1 commit2 > test.patch

打patch:

git apply test.patch

2. 如何消除trailing whitespace 问题

 git diff --ignore-space-at-eol commit1 commit2 > test.patch

打patch:

git apply --whitespace=fix test.patch

补充:

默认情况下,该命令会输出警告信息,但会应用补丁。当 git-apply 用于统计而不应用补丁时,默认值为 nowarn。你可以使用不同的值来控制这种行为:

nowarn - 关闭尾部空白警告。

warn - 对少数此类错误输出警告,但会按原样应用补丁(默认)。

fix - 针对少数此类错误输出警告,并在修复后打上补丁(strip 是同义词--该工具以前只将尾部空白字符视为错误,修复时会删除它们,但现代 gits 做得更多)。

error - 针对少数此类错误输出警告,并拒绝应用补丁。

error-all - 与 error 类似,但会显示所有错误。

3. git diff 参数

git diff --color  输出带有颜色差异的结果

git diff --cached 与暂存区的比较

git diff --stat 用于显示简略的统计信息

git diff -w 用于忽略空白字符