将机密文件(包含密码、API 密钥等的任何内容)从您的 git 存储库中检出是一种很好的做法,这似乎是常识(这里的指示,这里,这里,这里还有更多)
为什么?
这通过使这些“秘密”的值(以及其他与密码/安全/令牌相关的值)仅在生产环境中已知,而不是在任何地方检出存储库来增强安全性。如果可能,每个环境(例如,本地开发、开发服务器、登台/演示服务器、生产环境等)都应该有自己单独的身份验证或安全参数配置,并且这些应该在本地环境中配置,而不是存储在应用程序的代码本身中。
即使您的存储库是私有的,它仍然不安全。开发人员来来去去。操作人员来来去去。项目管理来来去去。您可能有一些具有 repo 访问权限的第三方承包商。一个足够大的项目往往会随着时间的推移有很多参与者在工作,而且他们中的任何一个都没有必要知道生产配置值(也许除了操作人员)。即使使用私有存储库,将密钥/值暴露给任何拥有 repo 访问权限的人仍然存在安全风险。