我知道这个表述听起来很奇怪,但这实际上是根本原因。假设我有两个Windows帐户,用户名Bob和John。在这两者上,我在
[remote "origin"]
url = ssh://Bob@remote.server.com:<port>/project_XY
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "moduleA"]
url = ssh://Bob@remote.server.com:<port>/module_A
我可以从任何一个帐户的顶级回购中获取任何信息。
现在从John帐户中,当我从子模块A中(从同一文件夹,该文件夹是来自同一远程服务器的同一存储库的同一克隆)获取时,我得到:
John@Computer MINGW64 /c/project/sources/module_A (master)
$ git fetch
John@remote.server.com's password:
git submodule update
将在遇到的第一个子模块处被阻塞并停留在那里(等待密码输入,但抑制了我从子模块文件夹中直接获取时在上面显示的控制台输出)。
由于John并不是远程服务器上的注册用户,所以我陷入了困境。如何永久更改此行为,以使其透明地使用SSH密钥(因为该密钥可用于Bob的帐户)或什至从John的帐户使用Bob的用户名?
谢谢。