我想推送一些代码给GitHub。它包含一些我不想发布的私人API密钥。有什么办法可以自动隐藏它吗?我应该手动从我的代码中删除它吗?如何将代码推送到Github隐藏API密钥?
回答
无论如何,在代码中使用API密钥可能是个坏主意。这意味着任何想要使用你的代码的人都必须编辑代码并重新编译它。
此类用例的教科书解决方案是将凭据移动到某个配置文件,并在README.md
文件中添加有关配置文件的结构和位置的明确文档。您也可以在您的gitignore
文件中添加一个条目,以防止您(和其他人)错误地将您的私人信息推送到GitHub。
您可以在您的服务器中添加enviornment variables以隐藏您的API密钥。所有流行的编程语言都有默认方法来访问环境变量。
任何时候你有一个合理的数据文件,如
config.yml
不能提交他们在您的仓库。我会告诉你一个例子。
假设有一些用户名和密码YAML文件:
# app/config/credentials.yml
credentials:
username: foo
password: bar
如果你想隐藏foo
和bar values, remove this file from your repository, but add just a
distribution`文件,旨在维护用户名和密码字段,但没有真正的价值:
# app/config/credentials.yml.dist
credentials:
username: ~
password: ~
在安装过程中,你可以得到这个文件,复制到app/config/credentials.yml.dist
app/config/credentials.yml
。
此外,请记住将app/config/credentials.yml
添加到您的.gitignore
文件中。
它同样为API密钥:
# app/config/config.yml
config:
credentials:
username: foo
password: bar
api_stuffs:
api_foo: fooooo
api_secret: baaaaar
api_token: tooooken
这适用于配置文件,并为每一个你需要共享一个配置的结构,但不理智的数据时,可以节省你的良好格局。 Ini文件,配置等等。
感谢您的信息。 :) –
请解释downvote O_o – sensorario
- 1. YouTubePlayer - 如何隐藏/加密API密钥?
- 2. Google Maps API Github中的密钥代码
- 3. 如何隐藏我的Dropbox API密钥
- 4. 如何在github上共享我的代码时隐藏我的Google Maps API密钥?
- 5. 从客户端隐藏API密钥
- 6. 从第三方隐藏API密钥?
- 7. 如何将更改推送到github
- 8. 如何将Android项目推送到Github?
- 9. 如何将wiki推送到github
- 10. Android Studio:如何将库推送到GitHub
- 11. 如何将新文件推送到GitHub?
- 12. 将代码推送到Bitbucket
- 13. 为什么我无法将我的代码推送到github?
- 14. 如何将代码隐藏代码添加到umbraco模板?
- 15. 如何使用Windows环境变量隐藏API密钥?
- 16. 如何隐藏客户端JavaScript中的API密钥
- 17. 如何隐藏我的Google翻译API密钥?
- 18. 如何在AJAX请求中隐藏api密钥
- 19. Jekyll Contentful,如何隐藏配置文件中的api密钥?
- 20. 如何将密钥密码恢复到密钥库?
- 21. 发送秘密密钥到API
- 22. 如何使用密码推送自己的github主旨,无TFA?
- 23. 如何将现有源代码推送到github中的存储库?
- 24. API密钥/证书推荐
- 25. 在推送GitHub期间从命令行使用SSH密钥?
- 26. 在推送到git之前修改API密钥
- 27. 如何隐藏代码块
- 28. 如何从代码隐藏
- 29. C#WinForms隐藏加密密钥
- 30. 从ASP.NET代码隐藏推进向导
切勿提交任何包含您不希望他人看到的信息。 –