我正在使用协作用户,因此无法更改全局文件夹。我有一个与几个遥控器连接的git存储库。我需要使用不同的rsa密钥访问不同的遥控器。是否可以在本机git中插入密钥路径,例如也许在.git / config里面,所以当我做克隆,抓取,推送,拉动时,我不需要重复输入关键路径?
编辑:我知道类似的问题,例如Specific RSA keys per git repo,但它没有提供“每次回购”的确切答案。
答案 0 :(得分:1)
您需要replace the ssh url of your submodules通过ssh url u sing ~/.ssh/config
entry names(~
引用全球用户的$HOME
您的~/.ssh/config
将包含相关私钥的路径:
Host repo1
HostName git.myhost.lan
User git
IdentityFile /path/to/global/user/.ssh/repo1PrivateKey
对于子模块repo1
:
git config --file=.gitmodules submodule.repo1 .url repo1:user/repo1
# if needed to follow a branch (if not, skip it)
git config --file=.gitmodules submodule.repo1 .branch abranch
git submodule sync
git submodule update --init --recursive --remote
git add .
git commit -m "Change submodule repo1 url"
git push