git:是否可以将文件放在属于子模块的目录下?

mm5n2pyu  于 2023-11-15  发布在  Git
关注(0)|答案(1)|浏览(110)

我的项目正在使用github上的一个库。所以我将该库列为子模块。然而,我想将一些文件放在该目录下。原因是我使用Bazel构建所有内容,但库使用CMake。所以我想在那里粘贴一个BUILD文件,以使用Bazel构建库。
当我在那里执行git add时,我得到一个错误,说文件夹属于一个子模块。本质上,我想在父模块和子模块之间共享一个文件夹。
我知道我可以分叉库并在我的分叉中添加我的BUILD文件。但是这个工作流需要一点额外的努力来维护2个仓库。我想知道是否有更简单的方法来做到这一点。

s4n0splo

s4n0splo1#

不,Git不能这样做。原因是该目录的子模块条目是一个特殊模式(160000)的提交,而不是一个普通目录的树。因此,在该目录下不可能表示任何这样的文件,因为该条目已经用于提交。
您可以派生子模块,也可以在项目中包含构建脚本并将其复制到脚本中。

相关问题