0

有没有办法检查文件是否正在提交并出现错误退出?

我在 git 中有一个文件需要存在,但永远不应该被修改,我希望使用 husky 作为预提交 - 所以如果有人试图修改文件并提交,那么它会抛出一个错误。

如果将来我需要修改文件,那么我可以禁用预提交。

该文件是我在开发时需要进行大量编辑的配置,但永远不应提交更改。

我希望使用哈士奇作为检查以确保我不这样做。

4

1 回答 1

0

我宁愿使用声明来管理带有内容过滤器驱动程序的文件。.gitattributes

这意味着您不对实际的配置文件进行版本控制,而只是一个模板文件和一个包含每个环境所有可能值的文件。

弄脏 (图片来自“ Customizing Git - Git Attributes ”,来自“ Pro Git book ”)

生成的实际文件仍然被忽略(由.gitignore):您的实际工作树不会“变脏”。

smudge脚本:

  • 检测正确的环境(不是分支,因为只需要一个)
  • 选择正确的值文件根据smudgegit checkout.

这样,您config.dev可以在开发时尽可能多地修改值文件:配置文件(未版本化)将从这些值生成。但是在生产中,对同一个 repo 的检出将使用(版本化文件)值
触发 prod 配置文件的生成。config.prod

于 2019-01-11T05:58:41.677 回答