在工作中,我们设置了一个repo appdevx,它有一个带子模块的项目。当我在OSX(git --version
- > git version 2.8.1
)上运行此命令时,一切都按预期工作,我的所有目录都已填充,生命是宏伟的。
git clone --recursive ssh://git@bb/appdevx/orb.git x
当我在Windows上使用git bash(git --version
- > git version 2.9.0.windows.1
)运行相同的命令时,它似乎按预期下载了所有模块并将它们放在.git文件夹中(我没有'确认这一点,但它有很长的已发现的子模块等)然后它按字母顺序写入第一个文件夹(由于某种原因不是在初始克隆上创建)而失败,因为它无法找到目标路径。如果我创建路径(注意套管),它会删除文件夹然后失败,因为目标路径不存在。
我做错了什么?
要添加到此,因为我安装了SourceTree(使用系统git,而不是嵌入式),我让它在存储库上进行更新,并在那里工作。
答案 0 :(得分:0)
所以,像往常一样,太半聪明了,再次咬我的屁股。
您可能已经注意到,在上面我使用主机的git配置快捷方式,允许我在URL中引用bb而不是bitbucket.internal.etc。
子模块在存储库路径中具有完整的服务器名称,因此git无法找到要使用的正确密钥,因此在尝试验证会话时失败。
我添加了一个重复的配置条目,并提供了完整的服务器名称作为昵称和瞧,修复。