如何使用sit键的git子模块?

时间:2017-08-14 10:31:46

标签: git github

我正在使用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的子模块,或者我如何通过密钥来提取它们?

1 个答案:

答案 0 :(得分:2)

我在子模块的.git / modules配置中找到了,并将https链接更改为ssh。

此命令运行正常后:

GIT_SSH_COMMAND="ssh -i /root/.ssh/repo_sub.key" git submodule update --remote misc/repo_sub