我正在开发一个Python脚本,但我需要包含我的公共和秘密Twitter API密钥才能工作。我想公开我的项目,但使用Git和GitHub保密敏感信息。虽然我非常怀疑这是可能的,有没有办法阻止GitHub公共回购中的数据?
答案 0 :(得分:6)
使用git add -p
将它们拆分为您不包含的配置文件,或者用占位符替换它们,并且不提交实际值。第一种选择更好。
配置文件可以包含基本的.py
文件credentials.py
,您可以在其中定义您认为最合适的任何结构中所需的私有凭据。 (字典可能是最合适的)。
您可以通过导入此文件中的结构并访问内容来使用敏感信息。建议使用您创建的代码的其他用户也这样做。
最终使用您的.gitignore
文件隐藏此内容。在其中,您只需添加文件名即可将其排除在上传到您的存储库之外。
答案 1 :(得分:3)
没有。相反,从文件加载秘密信息并将该文件添加到.gitignore
,以便它不会成为存储库的一部分。
答案 2 :(得分:3)
您可以将api密钥和密码存储在配置文件中,例如config.py
,然后将该文件添加到.gitignore
文件中,以便它不会存储在您的仓库中。< / p>
在您的商店内config.py
您的钥匙和秘密:
api_key = "TWITTER_KEY"`
api_secret = "TWITTER_SECRET"
在你现有的python文件中:
...
connection = twitter_connection(config.api_key, config.api_secret)```
Add `config.py` to your `.gitignore` file:
`config.py`
答案 3 :(得分:1)
twitter API密钥通常保存在JSON文件中。因此,当您上传存储库时,您可以修改.gitignore文件以隐藏.json文件。这样做是不会将这些文件上传到git存储库。
你的另一个选择显然是私有存储库,在这种情况下不会是解决方案。
答案 4 :(得分:0)
您可以查看blackbox,以便在VCS中存储敏感信息(git / hg / p4 / svn)。
假设您有一个VCS存储库(即Git或Mercurial存储库)和 某些文件包含密码或SSL私钥等机密。 通常人们只是存储这样的文件“并希望没有人找到它们 回购“。这不安全。
使用BlackBox,这些文件使用GPG加密存储。进入 没有正确的GPG密钥的VCS repo使它变得毫无价值 有文件。只要你保持你的GPG钥匙安全,你就不会 不得不担心将VCS存储库存储在不受信任的服务器上。 哎呀,即使你信任你的服务器,现在你也不必信任 执行该服务器备份的人员或处理该服务器的人员 备份磁带!