如何创建将在git submodule update中保留下来的目录链接?

给定以下示例目录结构:

proj
|-- lib3
|   `-- submod
|       `-- lib
`-- lib

我使用以下命令创建了一个从proj/lib/proj/lib3/submod/lib的软链接(soft link):
brad@bradpc:~/proj/lib$ ln -s ../lib3/submod/lib submodlib

创建以下目录结构:
proj
|-- lib3
|   `-- submod
|       `-- lib
`-- lib
    `-- submodlib

但是,运行git submodule update会破坏我的链接。我的印象是,软链接(soft link)是指向相对路径的逻辑链接,因此删除对象并重新添加它可以使链接保持完整。如何达到预期的效果?

最佳答案

ln -s 进行的软链接(soft link)应具有预期的作用。据我了解,如果您执行 git子模块更新,则目录中的某些部分 proj/lib3/submod/lib 将被删除并重新创建。这意味着没有什么区别,例如,与手动执行 rm proj/lib3/submod 和之后的 mkdir -p proj/lib3/submod/lib 一样。

我在openSuse Linux安装上手动进行了测试(rm和mkdir),并且在重新创建目录结构后,软链接(soft link)仍然正常。

您在哪个OS环境中工作?也许这不是真正的软链接(soft link)。

关于linux - git子模块: ln -s,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/994155/

10-13 05:10