2017-07-26 101 views
1

所以这就是我想要做的。我有一个Unity 3D项目用于我的可重用代码。我想将其添加到我在git中的其他项目中。符号链接git子模块到参考文件

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

这可能很混乱,请让我知道如果我需要更具体,我会尽力做得更好。

回答

0

最好是在两个环境分离:

  • 混帐克隆一个,那就是你有富和Foo /脚本子模块:

    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,为了确保您已经添加/推两富/脚本和Foo。

+0

只是为了让我能理解。我将我的'可重用项目'添加为项目'foo'的子模块。然后,我创建一个工作目录,其中包含两个项目的符号链接以构建我想要的结构? 纠正我,如果我错了,但有人不能拉我的回购,并开始使用这种方法,这种符号链接技巧将需要在我们克隆每台机器上执行? 此外,这些符号链接命令是否可以用于目录,而不仅仅是文件? – Repareman

+0

@Repareman“纠正我,如果我错了,但有人不能拉我的回购,并开始使用这种方法”:是的,你的回购需要提供一个脚本,将为你做的设置。符号链接也适用于文件夹。我不是说这是理想的,我只是试图回答你原来的要求“我想要一个符号链接到包含我的子模块中的所有可重用脚本的文件夹以及存在于项目foo的资产文件夹中的文件夹”。不知道你为什么需要这个,但是如果你这样做......我的回答就是这样。 – VonC