为git子模块提供自定义文件

Ala*_*rte 6 git git-submodules

我的项目使用Varying-Vagrant-Vagrants作为子模块/machine.

VVV提供了通过自定义文件配置它的可能性.我的自定义文件是:

machine/
??? Customfile
??? config
?   ??? nginx-config
?       ??? sites
?           ??? mysite.conf
??? www
    ??? mysite
        ??? vvv-hosts
        ??? vvv-init.sh
        ??? wp-cli.yml
Run Code Online (Sandbox Code Playgroud)

这些路径在VVV的.gitignore文件中都被忽略.

什么是在我的项目中提供这些文件的好方法,以便在整个项目被递归克隆时它们与vvv位于同一目录中?希望无需制作跟踪这些文件的分支.

只需添加包含这些文件的子模块,就会产生以下结果:

$ git submodule add https://github.com/Varying-Vagrant-Vagrants/VVV.git machine/
'machine' already exists and is not a valid git repo
Run Code Online (Sandbox Code Playgroud)

谢谢

pal*_*tor 0

git help submodule

子模块允许将外部存储库嵌入源树的专用子目录中,始终指向特定的提交。

您的调用git submodule add正在抱怨,因为您试图将外部 VVV 存储库嵌入到子目录中machine,正如消息所述,该子目录已经存在并且不是有效的 git 存储库。

要获得所需的目录结构(machine作为 VVV 目录的子目录),您必须将存储库作为其子模块,而不是相反。

鉴于此,我不知道如何让一个人git clone来提取两个存储库并按照您的意愿组织它们。接下来最好的办法可能是让您的存储库将 VVV 存储库作为与您的目录并行的子模块/子目录拉取,并包含一个脚本以从 VVV 子目录内部machine建立符号链接。machine