可以在暂存、添加或推送之前使用 git 挂钩替换密码吗?
我希望在提交或推送之前用模板替换密码。
例如,假设我用“PWDEXLUDE_password”作为纯文本密码的前缀,而钩子用 <> 替换它,因此在部署阶段,脚本可以查找模板,在数据库中查找密码,并将该模板替换为生产密码.
git可以使用或可能使用类似的东西吗?
我会采取不同的方法,将密码保存在不受版本控制的配置文件中,并让您的应用程序在运行时从该文件加载它们。你的部署脚本只需要确保这样一个文件存在,并且每个开发者都可以有自己的开发和测试密码。
如果你真的想按照你的要求做,我认为你可以在一个pre-commit
钩子中完成它,提取包含密码的文件的暂存版本,重写它们,并暂存重写的版本,确保不影响工作副本。但是,出于多种原因,这对我来说似乎是个坏主意。
我认为这里正确的事情(如果您不想要一个被忽略的文件,我也更喜欢)将是一对涂抹/清洁过滤器。请参阅gitattributes中的过滤器部分。