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 用于忽略空白字符