我正在尝试使用一些子模块设置git存储库。但是,每当我尝试对存储库进行递归克隆时,无论我在原始git clone命令中指定的用户名如何,它都会继续尝试使用我的本地用户名。
这是我运行的原始命令
git clone --recursive ssh://{user id}@{ip address}/app/data/git/repo.git
原始仓库的克隆工作正常,并使用ssh行中指定的用户ID。但是,当它到达子模块时,它使用我的本地帐户而不是ssh请求中指定的用户ID。
这就是我的.gitmodules文件的样子
[submodule "modules/submodule"]
path = modules/submodule
url = ssh://{ip address}/app/data/git/submodule.git
是否有一些系统环境设置或gitmodule文件中的某些内容需要设置?这需要适用于多个用户帐户,因此我不能将我的用户ID硬编码到.gitmodule文件中。
感谢。
答案 0 :(得分:0)
https://stackoverflow.com/a/10056098/237091请参阅在GitHub(或Heroku或......)的多个帐户之间进行选择
答案 1 :(得分:0)
解决方案在于使用以下条目更新您的ssh-agent。对于Mac / Linux用户,
# Github account
Host github.com
HostName github.com <- your git repository url
User newUserName <-- ensure this is the user name you want to use for submodules
IdentityFile ~/.ssh/id_rsa <- if you have a different name then change this
发布此更改后,您也应该能够正确克隆子模块。