2010-11-08 54 views
2

我想在git中正确地获得子模块设置,并且要确保正确使用它。我有主存储库叫MyProject。我有一个二级存储库,其中包含我们所有的代码生成的数据访问,称为Data。我想将Data设置为MyProject的子模块。试图找出在git中使用子模块的正确方法

Data很少发生变化,除非有模式更改或小的小错误修复。

假设我正在给MyProject添加一些新功能,这需要模式更改。通常我会创建一个名为NewFeatureMyProject的分支,并检查我所做的所有更改,直到它准备好与主设备合并为止。我也想为Data创建一个分支,以便任何模式更改从Master分离,直到我的更改准备好合并为止。

什么是正确的工作流程或甚至有一个?

谢谢!

回答

2

子模块中的分支与父代回购的分支完全分开。

在您的父回购库上创建NewFeature功能分支并不意味着您必须在子模块中创建相同的分支。
这只意味着您的父代回购将引用NewFeature分支中该子模块的新提交。子模块提交可以在任何分支中进行(仅在子模块中定义)。也就是说,最好在subrepo中创建一个NewFeature,以建立某种命名约定,使您能够在您的父回购库和子模块之间找到高度耦合的提交集合。
(此外,如问题“Git submodules: Specify a branch/tag”中所示,子模块本身总是首先处于分离的HEAD模式)