我有一个我希望版本控制的个人项目,但我不确定如何使用git来管理它。以下是文件夹结构的示例:
project
project/public/plugin1
project/public/plugin2
project/lib/plugin1
project/lib/plugin2
我打算为每个插件或模块创建单独的存储库,但它似乎有点棘手,因为并非插件的所有文件都在同一文件夹下组合在一起。所以我需要跟踪这些目录为plugin1:
project/public/plugin1
project/lib/plugin1
同样对于plugin2:
project/public/plugin2
project/lib/plugin2
在公共文件夹中是css和js等文件,所以你可以说更重要的文件是lib中的文件。我应该在该文件夹中设置存储库,并以某种方式尝试添加外部公用文件夹?但当然git不会让我这样做。我已经从另一个问题尝试了这个:
git --work-tree=/ add /project/public/plugin1
我仍然收到错误,说它在存储库之外。
由于这只是一个个人项目,我不需要访问或做任何远程操作,这有望消除一些并发症。关于正确设置方法的任何想法?感谢。
答案 0 :(得分:0)
看起来像是一个较旧的问题但是,对于任何看这个问题的人来说,你想要做的就是使用git子模块。
您的结构可能会有所不同,但您希望在主存储库中创建引用包含插件的其他存储库等的子模块。
# git submodule add git://path-to-your-repo.git modulename
请注意,您将内容拖入主仓库并将其附加到主仓库的该修订版本,这样您只能在与主项目兼容时才提取子模块的特定版本。以下内容将子模块项目拉入主项目中。
# git submodule update modulename
这只是一个高级概述。请尝试阅读http://www.git-scm.com/book/en/Git-Tools-Submodules了解更多详情。