我正在使用github上的主私有存储库。 我在github上的设置中添加了部署密钥并通过命令拉出:
GIT_SSH_COMMAND="ssh -i /root/.ssh/repo.key" git pull
我也编辑.git / config文件:
[remote "origin"]
url = git@github.com:username/reponame.git
fetch = +refs/heads/*:refs/remotes/origin/*
它有效。 但我也有一个子模块(在私人仓库中),我想通过像主仓库这样的ssh键来拉它。 我尝试将新密钥添加到子模块repo并编辑.git / config:
[submodule "misc/repo_sub"]
url = git@github.com:username/repo_sub.git
GIT_SSH_COMMAND="ssh -i /root/.ssh/repo_sub.key" git submodule update --remote misc/repo_sub
我也试过了:
cd misc/
GIT_SSH_COMMAND="ssh -i /root/.ssh/repo_sub.key" git pull
但它也不起作用。
那么如何通过密钥更新私有github repo的子模块,或者我如何通过密钥来提取它们?
答案 0 :(得分:2)
我在子模块的.git / modules配置中找到了,并将https链接更改为ssh。
此命令运行正常后:
GIT_SSH_COMMAND="ssh -i /root/.ssh/repo_sub.key" git submodule update --remote misc/repo_sub