2

并感谢您花时间阅读我的帖子。

我目前正在使用 Unity Engine - 这要求某些文件位于项目目录中的某些文件夹中。例如,假设我有这个假设项目 - LameGame。我的文件夹看起来像这样

./LameGame  
./LameGame/Assets  
./LameGame/Assets/Resources  
./LameGame/Assets/Editor  
./LameGame/Assets/Plugins  
./LameGame/Assets/Scripts

我通过 git 为 Unity Engine 维护了一些不同的插件,并且想知道是否有办法将它们作为子模块导入到同一个项目中。我遇到的问题是它们不能都有一个唯一的目录 - 它们需要像这样在目录之间传播:

插件A

/Assets/Resources/PluginA/*
/Assets/Editor/PluginA/*
/Assets/Plugins/PluginA/*

插件B

/Assets/Resources/PluginB/*
/Assets/Editor/PluginB/*
/Assets/Plugins/PluginB/*

因此,理想情况下,我正在寻找一种解决方案,它允许我的主要项目以及插件都来自 Assets/ 文件夹。这对 Git 可行吗?

提前感谢您的任何输入/反馈/建议!

(注意:我主要使用 Windows 7 和 TortoiseGit)

4

3 回答 3

2

我宁愿:

于 2011-05-17T18:54:43.657 回答
1

虽然非常不推荐使用,我的意思是理论上你可以有一个 git 别名,它提供 --git-dir 参数来支持其中一个存储库的远程 .git 目录。然后,您可以将第一个 repo 中的所有文件添加到第二个 .gitignore 中,反之亦然。然后,您可以“git commit”提交到第一个存储库,“altgit commit”提交到第二个存储库。

正如其他人所建议的那样,您最好使用符号链接树,但它在技术上是可行的。

于 2011-05-18T23:52:45.940 回答
0

我想你正在寻找这个:http ://book.git-scm.com/5_submodules.html

它准确地解释了如何在 Git 中设置子模块,并附有示例

于 2011-05-17T18:16:41.320 回答