linux - git 子模块 : ln -s

标签 linux git unix git-submodules

我怎样才能创建一个在 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 submodule update 目录的某些部分 proj/lib3/submod/lib 将被删除并重新创建。这意味着这与手动执行 rm proj/lib3/submod 然后再执行 mkdir -p proj/lib3/submod/lib 没有区别。

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

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

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

相关文章:

git - 更改 git 模块分支

git - 忽略根目录下的所有文件,除了一些特定的文件、目录

c - 剖析 C 应用程序中的最大内存使用量 - linux

来自旧硬盘系统的 mysql datadir 无法启动

git - 如何避免将更改 merge 到生产分支

bash - awk:如何从文件 A 中提取文件 B 中指定索引的列?

php - Unix 权限,读取与执行(PHP 上下文)

c++ - 开始智能卡编程

linux - 使用 R 从基于 Web 的 PDF 中抓取信息

linux - 通过 Makefile 编译时,复制文件时出现一些错误