我觉得以前可能已经有人问过这个问题,但是我不能将现有问题完全塞进这个确切的问题中。
我有一个Git存储库,用于存储Sphinx文件并为单个文档构建。我想将该文档中的某些文件(css,徽标等)重用于其他文档,并且理想情况下应与其他文档(例如rst)分开跟踪这些“核心文件”的更改。>
我认为做到这一点的一种方法是将“核心”文件拆分到一个单独的Git存储库中,但是我正在努力寻找一种非手动的方式将这些核心文件添加到存储库中。
我当前拥有的文件结构类似于
| Doc repository
|-- Sphinx
|- Built docs folder
|- Reusable components in folders
| Some files
| A reusable file
理想情况下,我希望能够分离(然后再次添加)可重复使用的项目。
我尝试了子模块,但是我了解到它们不能用于将文件添加到现有文件夹中,因此无法工作,因为我需要在同一个文件夹中使用reusable file
。
我一直在研究子树,但是在理解它们是否满足我的要求时遇到了困难。
理想情况下,生成的结构类似于
| Doc repository
|-- Sphinx
|- Built docs folder
| Some files
| + Some command to add reusable stuff in this same directory
| Reusable repository
|- Reusable folders
| Reusable file
答案 0 :(得分:1)
我知道如何reuse a submodule content coming from the same repo (but different branch),但这始终意味着将所述重用文件放在单独的文件夹中。
仍然,您可以:
这是一种解决方法,无法很好地扩展(如果您在子模块存储库中添加或删除文件,则需要在符号链接中进行镜像),但这将达到您的预期。
在理想情况下,那些可重用的文件将由相对URL寻址,该URL包括一个子文件夹名称,这将不需要使用符号链接。