在暂存,添加或推送之前,是否可以使用git hook来替换密码?

时间:2011-04-30 09:10:20

标签: git githooks

在暂存,添加或推送之前,是否可以使用git hook来替换密码?

我希望在提交或推送之前用模板替换密码。

例如,假设我使用'PWDEXLUDE_password'将纯文本密码作为前缀,并且钩子将其替换为<>,因此在部署阶段,脚本可以查找模板,在数据库中查找密码和替换带有生产密码的模板。

git可以使用或者可以吗?

2 个答案:

答案 0 :(得分:3)

我会采取不同的方法,即将密码保存在不受版本控制的配置文件中,并让应用程序在运行时从该文件中加载它们。您的部署脚本只需要确保存在这样的文件,并且每个开发人员都可以拥有自己的密码进行开发和测试。

如果确实希望按照您的要求行事,我认为您可以在pre-commit hook中执行此操作,该文件会提取包含密码的文件的分阶段版本,重写它们,并分阶段重写版本,确保不影响工作副本。但是,出于各种原因,这对我来说似乎是一个坏主意。

答案 1 :(得分:1)

我认为这里正确的事情(如果你不想要一个被忽略的文件,我也不想这样)将是一对涂抹/清洁过滤器。请参阅filter section in gitattributes