如何维护驻留在另一个项目目录中的Git存储库?

时间:2010-10-04 17:36:40

标签: git

我有一个如下所示的目录:

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仓库中的所有扩展程序即可。

1 个答案:

答案 0 :(得分:1)

回购中的回购通常意味着 submodule

如果您可以将ProjectFolder设为“父回购”,并将每个子目录设为子模块,那么您将实现您所追求的组织类型。

每个子参数可以彼此独立地改变 即使ProjectFolder不是存储库,也不会阻止您在其中创建一个存储库(git init .),您可以直接添加my_filemy_other_file,以及对其他子目录的引用宣布为自己的回购。