是否可以在同一个文件夹中拥有多个本地git存储库?

时间:2011-05-17 18:12:43

标签: windows git version-control tortoisegit

感谢您抽出宝贵时间阅读我的帖子。

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

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

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

PluginA

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

PluginB

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

理想情况下,我正在寻找的是一个允许我的主项目的解决方案,以及所有来自Assets /文件夹的插件。这可能与Git有关吗?

提前感谢您提供任何意见/建议!

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

3 个答案:

答案 0 :(得分:2)

我宁愿:

答案 1 :(得分:1)

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

你最好使用符号链接树,正如其他人所建议的那样,但从技术上讲它会起作用。

答案 2 :(得分:0)

我认为你正在寻找:http://book.git-scm.com/5_submodules.html

它解释了如何在Git中设置子模块,完整的例子