问题描述
|
我的某些程序需要一些机密数据(主要是身份验证)才能正常工作。
在开发和测试时,我经常将自己的凭据放在源代码的“ 0”中,以查看我的代码是否有效,并在一切正常后将其删除。但是,忘记删除它们很容易。
有什么好的方法来防止这些机密数据最终出现在版本控制提交中?
我使用Mercurial(和Python)。
我一直在想:
在提交时自动运行一些敏感数据检查脚本,如果发现某些特定的字符串,该脚本将中止(似乎并不可靠,需要维护敏感字符串)
将机密数据存储在其他位置(在哪里?如何实际导入/使用它们?)。
使用测试分支(但并不能真正解决问题)
提供机密数据作为命令行参数(太不实际)
解决方法
将身份验证数据之类的内容放入配置文件中,然后将该配置文件添加到您的VCS中被忽略的文件集(在Mercurial中为1)。