我正在使用git预提交挂钩来检查提交。
预提交脚本基本上只做一件事:

exec git diff-index --check --cached HEAD --

它也做了一些其他的事情,但它们与本次讨论无关。
问题是,我在存储库中有各种各样的文件,并不是所有的文件都必须遵守“git diff-index --check”强制执行的检查。
所以我的问题是:如何排除/忽略这些文件?
也就是说,我确实在git中跟踪它们,但我只想在提交前检查中忽略它们。
例如,某个修补程序包含*.c、*.h、*ini和*.xyz文件。
我希望“git diff-index --check”仅适用于.c和.h文件。

最佳答案

手册页上说:
当存在参数时,只比较与这些模式匹配的路径。否则将比较所有跟踪的文件。
换句话说,“path”参数实际上是全局样式的模式,而不仅仅是特定的路径。您可以将'*.c' '*.h'添加到您的命令中。

09-04 08:13
查看更多