如何创建一个能够在git submodule update
生效的目录链接?
给出以下示例目录结构:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
我使用以下命令创建了从proj/lib/
到proj/lib3/submod/lib
的软链接:
brad@bradpc:~/proj/lib$ ln -s ../lib3/submod/lib submodlib
创建以下目录结构:
proj
|-- lib3
| `-- submod
| `-- lib
`-- lib
`-- submodlib
但是,运行git submodule update
会破坏我的链接。我的印象是软链接是相对路径的逻辑链接,因此删除对象并重新添加它将保持链接完整。我怎样才能达到预期的效果?
答案 0 :(得分:1)
使用 ln -s 制作的软链接应该像您预期的那样。据我了解,如果您执行 git子模块更新,目录 proj / lib3 / submod / lib 的某些部分会被删除并重新创建。这意味着没有区别,只需手动执行 rm proj / lib3 / submod ,然后再执行 mkdir -p proj / lib3 / submod / lib 。< / p>
我在openSuse Linux安装上手动测试了这个(rm和mkdir),重新创建目录结构后,软链接仍然很好。
你在哪个操作系统环境中工作?也许这不是一个真正的软链接。