将git子模块用于外部存储库,而无需在.gitmodules文件中使用密码

问题描述

我正在使用gitlab中的存储库

此存储库有两个子模块,其中一个也在gitlab中,而另一个在bitbucket中。

现在我在.gitmodules文件中包含以下内容

[submodule "src/repo"]
    path = src/repo
    url = https://ruimartins:***password***@bitbucket.org/xxxxxx/repo.git
[submodule "helm-chart"]
    path = helm-chart
    url = ../helm-chart.git

但是我不想让所有程序员都可以看到该密码,如何在这里隐藏密码

谢谢

解决方法

我建议将基于凭据的访问替换为基于令牌的访问(例如ssh)。因此,您可以将网址替换为url = [email protected]:xxxxxx/repo.git。然后,只需创建一个组或团队,即可让其他用户访问此代码。通过个人用户进行身份验证比共享某些凭据是一种更好的方法。

使用这种方法,由于单个用户可以使用其自己的凭据进行身份验证,因此无需更改为ssh身份验证。但是,我强烈建议您使用基于令牌的身份验证。

例如,github已经宣布要在明年禁用基于凭据的身份验证,因为与基于令牌的身份验证相比,它们的安全性较低