如何创建将在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/