在暂存,添加或推送之前,是否可以使用git hook来替换密码?
我希望在提交或推送之前用模板替换密码。
例如,假设我使用'PWDEXLUDE_password'将纯文本密码作为前缀,并且钩子将其替换为<>,因此在部署阶段,脚本可以查找模板,在数据库中查找密码和替换带有生产密码的模板。git可以使用或者可以吗?
答案 0 :(得分:3)
我会采取不同的方法,即将密码保存在不受版本控制的配置文件中,并让应用程序在运行时从该文件中加载它们。您的部署脚本只需要确保存在这样的文件,并且每个开发人员都可以拥有自己的密码进行开发和测试。
如果确实希望按照您的要求行事,我认为您可以在pre-commit
hook中执行此操作,该文件会提取包含密码的文件的分阶段版本,重写它们,并分阶段重写版本,确保不影响工作副本。但是,出于各种原因,这对我来说似乎是一个坏主意。
答案 1 :(得分:1)
我认为这里正确的事情(如果你不想要一个被忽略的文件,我也不想这样)将是一对涂抹/清洁过滤器。请参阅filter section in gitattributes。