我已经创建了一个带有子模块的git存储库.我能够告诉子模块本身更改其远程存储库路径,但我不知道如何告诉父存储库如何更改子模块的远程存储库路径.
如果我有点不幸并且必须手动操作,我不会感到惊讶,因为即使删除子模块也不容易.
我有目录A,文件与目录B匹配.目录A可能有其他所需的文件.目录B是一个git仓库.
我想将目录B克隆到目录A但git-clone将不允许我,因为该目录是非空的.
我希望它只能克隆.git,因为所有的文件匹配,我可以从那里去?
我无法克隆到一个空目录,因为我在目录A中的文件不在目录B中,我想保留它们.
复制.git不是一个选项,因为我想要refs推/拉,我不想手动设置它们.
有没有办法做到这一点?
更新:我认为这有效,任何人都可以看到任何问题吗? - >
cd a
git clone --no-hardlinks --no-checkout ../b a.tmp
mv a.tmp/.git .
rm -rf a.tmp
git unstage # apparently git thinks all the files are deleted if you don't do this
Run Code Online (Sandbox Code Playgroud) 我在Github上有一个私人仓库,里面有3个子模块,其中3个也是私有的.
我在我的EC2服务器上生成了4个SSH密钥,并将它们作为Github部署密钥应用到所有4个私有存储库.
我能够克隆主存储库,因为它识别SSH密钥.当我运行"git submodule update"时,它在私有repos上失败并出现以下错误:
错误:未找到存储库.致命:远程端意外挂断
如果我手动检查那些私有存储库它可以工作,但不是在使用git submodule命令时.任何的想法?这不完全支持吗?