有一个大型项目存储在远程 GIT 存储库中:
root/
|
*
module1/
|
* include/
| |
| * lib1/
| | header1.h
| | headerN.h
| * libN/
| headerX.h
* sources/
|
* lib1/
| file1.cxx
| fileN.cxx
* libN/
...
该产品是从这些库构建的。构建系统自动下载源代码,重新映射每个文件夹,将每个库的源目录放在磁盘上相应的头文件附近,即:
lib1/
include/
header1.h
headerN.h
sources/
fileN.cxx
CMakeList.txt
当库以这种方式映射到磁盘时,它可以被构建。这种结构是由于历史原因(Perforce aka P4);它在 Perforce 中工作,因为Clientspec.txt文件可以在存储库克隆上定义此类重映射规则。
目前,当存储库从origin/master克隆时,无法在项目中仅构建一个库而无需手动创建相应的符号链接的初步步骤。创建此类符号链接后,无法在此处修改源代码,因为文件和 .git 之间的连接丢失。
问题:是否可以通过动态重新映射目录并将其与git的连接(= 能够正确修改/重命名/移动文件?
我研究了git submodule和git subtree但似乎它们不适合,因为它们用于不同的目的。
谢谢!
PS 目前根本不可能影响源/主服务器和服务器端。