我正在使用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'
添加到您的命令中。