我有一个如下所示的目录:
ProjectFolder/
+ project_file
+ project_file_2
+ project_folder/
+ another_file
* my_stuff/ <= add to repo
* foo <= add to repo
* bar <= add to repo
* my_file <= add to repo
* my_other_file <= add to repo
ProjectFolder
是我没有写过的软件,也不是git存储库。对于它的价值,它是vBulletin。
在主文件夹中,我有一些项目扩展/模块/等。这些文件的位置由外部项目强制执行。幸运的是,我关心的文件中有95%来自ProjectFolder根目录。 (请注意上面标有*
的文件)
有没有办法可以轻松地将*
标记的文件添加到git仓库?
我在这里看到的问题是git无法将我的扩展与外部项目区分开来。
额外:更新外部项目时,只需重新克隆git repo以重新安装我的git仓库中的所有扩展程序即可。
答案 0 :(得分:1)
回购中的回购通常意味着 submodule 。
如果您可以将ProjectFolder设为“父回购”,并将每个子目录设为子模块,那么您将实现您所追求的组织类型。
每个子参数可以彼此独立地改变
即使ProjectFolder不是存储库,也不会阻止您在其中创建一个存储库(git init .
),您可以直接添加my_file
和my_other_file
,以及对其他子目录的引用宣布为自己的回购。