符号 Link git 引用文件的子模块

Symbolic Link git Submodule To Reference Files

这就是我想要做的。我的可重用代码有一个 Unity 3D 项目。我想将它添加到我在 git 中的其他项目中。

假设我有一个项目 'foo'。
我想克隆 foo,然后将我的可重用脚本添加为子模块;
然后我想要一个符号 link 到包含我的子模块中所有可重用脚本的文件夹和一个存在于项目 foo 的资产文件夹中的文件夹。
因此,当我在我的项目中进行更改时,我可以将我的更改推送到我的子模块项目中。

这可能很令人困惑,如果我需要更具体一点,请告诉我,我会尽力做得更好。

两个环境最好分开:

  • git 克隆一个,其中有 foo 和 foo/script 子模块:

    git clone foo /url/of/foo
    git submodule add /url/of/script
    git add .
    git commit -m "Add script as submodule of foo"
    git push
    
  • 工作环境,您将符号链接设置为 foo 和脚本脚本。

    cd somewhere/else
    ln -s /path/to/foo/file1
    ln -s /path/to/foo/scripts/scrip1
    ...
    

这样,一旦您修改了脚本,您就可以返回 foo,并执行 git push --recurses-submodules=check,以确保您同时拥有 added/push foo/script 和foo.