有没有办法检查文件是否正在提交并出现错误退出?
我在 git 中有一个文件需要存在,但永远不应该被修改,我希望使用 husky 作为预提交 - 所以如果有人试图修改文件并提交,那么它会抛出一个错误。
如果将来我需要修改文件,那么我可以禁用预提交。
该文件是我在开发时需要进行大量编辑的配置,但永远不应提交更改。
我希望使用哈士奇作为检查以确保我不这样做。
我宁愿使用声明来管理带有内容过滤器驱动程序的文件。.gitattributes
这意味着您不对实际的配置文件进行版本控制,而只是一个模板文件和一个包含每个环境所有可能值的文件。
(图片来自“ Customizing Git - Git Attributes ”,来自“ Pro Git book ”)
生成的实际文件仍然被忽略(由.gitignore
):您的实际工作树不会“变脏”。
smudge
脚本:
smudge
在git checkout
.这样,您config.dev
可以在开发时尽可能多地修改值文件:配置文件(未版本化)将从这些值生成。但是在生产中,对同一个 repo 的检出将使用(版本化文件)值
触发 prod 配置文件的生成。config.prod