GIT(HUSKY):提交文件时退出代码?

时间:2019-01-11 04:19:03

标签: git husky git-husky

是否可以检查文件是否已提交并退出并出现错误?

我在git中有一个文件,该文件必须存在,但永远不要修改,我希望使用husky作为预提交-因此,如果有人尝试修改该文件并提交,那么它将引发错误。 / p>

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

文件是一种配置,开发时我需要对其进行大量编辑,但是更改永远都不要提交。

我希望用沙哑的狗狗做检查,以确保自己不会。

1 个答案:

答案 0 :(得分:0)

我宁愿使用content filter driver使用 .gitattributes declaration 来管理文件。

这意味着您不会版本实际的配置文件,而只版本化一个模板文件,以及一个在每个环境中具有所有可能值的文件。

smudge (来自“ Customizing Git - Git Attributes”的图像,来自“ Pro Git book”的图像)

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

smudge脚本:

  • 检测正确的环境(不是分支,因为只需要一个)
  • 根据在smudge期间应用git checkout脚本的模板,选择正确的值文件并生成正确的文件。

这样,您可以在开发时随意修改config.dev值文件:将从这些值生成配置文件(未版本化)。
但是在生产中,使用config.prod(版本文件)值对同一仓库进行检出将触发生成prod配置文件。