![](/img/trans.png)
[英]How to make GIT treat directory junctions as regular folders on 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.