繁体   English   中英

使用 git 子模块作为 Windows 中的连接点

[英]Using git submodules as junctions in Windows

如果子模块的目录是联结 (Windows),git 不会将其检测为存储库,并且无法在此类子模块上工作。

例如,假设存储库root位于c:\src\root中,并且它有一个子模块subrepo ,即与另一个驱动器的连接点。 所以c:\src\root\subrepo链接到d:\submodules\subrepo

如果您在c:\src\root\subrepo上尝试任何 git 命令,您将收到如下错误消息

$ git拉

致命:不是 git 存储库:d:/submodules/subrepo/../.git/modules/subrepo

我该如何解决这些问题?

如您所见,问题在于 git 解析了联结并在目标目录上工作,而不是使用原始路径。

要解决 git 和子模块的连接问题,只需建立第二个连接,但以相反的方式连接到父代表的.git目录。 这应该是subrepo目录的兄弟,因此在构建../.git/相对路径时可以找到它。

d:\submodules\.git ==> c:\src\root\.git
c:\src\root\subrepo ==> d:\submodules\subrepo

请注意,如果您有不同的子模块集,这可能会很麻烦,因此在这种情况下,只需将它们分组到同一个目录中,以避免与重复.git目录冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM