如何在不损害密码的情况下将带有私有子模块的公共仓库推送到Heroku?

时间:2013-09-28 22:40:30

标签: git heroku git-submodules paas

我有一个公共回购(我想继续公开),但有私人回购的子模块。我部署到Heroku(这是一个灵活的点 - 我很乐意考虑其他PaaS,如果它能解决这个问题)并且我一直遇到问题推动我的子模块 - 错误消息看起来像this

Heroku为您提供了add private module dependencies的方法,但这涉及将我的密码放在纯文本.gitmodules文件中,这显然不是一件好事,特别是对于公共回购。

没有将这些私人回购符号链接到我项目中的目录 - 如果没有其他合理的解决方案,我可能会这样做 - 我还可以做些什么来(a)保持我的公共回购公开,(b)保持我的私人子模块是私有的,(c)不在我的公共回购中公开我的私人回购密码?

1 个答案:

答案 0 :(得分:0)

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

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

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

请参阅“Is there a way to skip password typing when using https:// github” 正如我在“Configure Git clients, like GitHub for Windows, to not ask for authentication”中提到的,这甚至与最近的two-factor authentication of GitHub兼容。