如何将 Gitlab 自管理子模块连接到 deepsource.io
How to connect a Gitlab self managed submodule to deepsource.io
I want to connect a git Submodule to deepsource.io. It says I need to connect it via SSH. The main repository is hosted on Github, and the Submodule is hosted by Git lab self-managed (git.server.com).
我必须在哪里粘贴来自 deepsource.io 的 public SSH 密钥?我必须在我的帐户或子模块上连接它吗?
在 deepsource.io 上生成 SSH 密钥后(通过导航到存储库的设置 > SSH 访问 > 生成 SSH 密钥对),复制提供的 public 密钥并将其添加为部署密钥到您的 GitLab 子模块存储库(设置 > 存储库 > 部署密钥)。不要授予对密钥的写入权限。
参考:How to enable deploy keys on GitLab.
如果您使用 HTTPS URL 指定子模块(查看存储库根目录中的 .gitmodules
文件),则需要将它们更改为 SSH URL。为此,您可以
- 直接编辑
.gitmodules
文件:如果文件如下所示:
[submodule "screamer"]
path = screamer
url = https://git.myserver.com/org/screamer.git
你可以把它改成
[submodule "screamer"]
path = screamer
url = git@git.myserver.com:org/screamer.git
- 运行 像这样的命令:
git config --local url.git@git.myserver.com:.insteadOf https://git.myserver.com/
这将更改您的 .git/config
文件,如下所示:
[url "git@git.myserver.com:"]
insteadOf = https://git.myserver.com/
I want to connect a git Submodule to deepsource.io. It says I need to connect it via SSH. The main repository is hosted on Github, and the Submodule is hosted by Git lab self-managed (git.server.com).
我必须在哪里粘贴来自 deepsource.io 的 public SSH 密钥?我必须在我的帐户或子模块上连接它吗?
在 deepsource.io 上生成 SSH 密钥后(通过导航到存储库的设置 > SSH 访问 > 生成 SSH 密钥对),复制提供的 public 密钥并将其添加为部署密钥到您的 GitLab 子模块存储库(设置 > 存储库 > 部署密钥)。不要授予对密钥的写入权限。
参考:How to enable deploy keys on GitLab.
如果您使用 HTTPS URL 指定子模块(查看存储库根目录中的 .gitmodules
文件),则需要将它们更改为 SSH URL。为此,您可以
- 直接编辑
.gitmodules
文件:如果文件如下所示:
[submodule "screamer"]
path = screamer
url = https://git.myserver.com/org/screamer.git
你可以把它改成
[submodule "screamer"]
path = screamer
url = git@git.myserver.com:org/screamer.git
- 运行 像这样的命令:
git config --local url.git@git.myserver.com:.insteadOf https://git.myserver.com/
这将更改您的 .git/config
文件,如下所示:
[url "git@git.myserver.com:"]
insteadOf = https://git.myserver.com/