如何在不泄露密码的情况下将带有私有子模块的公共存储库推送到 Heroku



我有一个公共存储库(我想保持公共状态),但带有用于私有存储库的子模块。我部署到 Heroku(这是一个灵活的点 - 如果它可以解决这个问题,我很乐意考虑其他 PaaS),并且我在推送我的子模块时遇到了问题 - 错误消息如下所示。

Heroku 为您提供了一种添加私有模块依赖项的方法,但这涉及将我的密码放在纯文本.gitmodules文件中,这显然不是一件好事,尤其是对于公共存储库。

除了将这些私有存储库符号链接到我项目中的目录之外 - 如果没有其他明智的解决方案,我可能会这样做 - 我还能做些什么来 (a) 保持我的公共存储库公开,(b) 保持我的私有子模块私有,以及 (c) 不在我的公共存储库中公开我的私有存储库密码?

无需将用户名和密码嵌入到存储库 URL 中。

您可以将所有不同的凭据加密到一个~/.netrc.gpg中,并声明一个凭据帮助程序,使 git 为正确的存储库找到正确的凭据。

git config --local credential.helper "netrc -f /path/to/.netrc.gpg -v"

请参阅"有没有办法在使用 github 时跳过密码输入 https://"。
正如我在"配置 Git 客户端,如 GitHub for Windows,不要求身份验证"中提到的,这甚至与 GitHub 最近的双因素身份验证兼容。

最新更新