我正在尝试在git中正确设置子模块,我想确保我正确使用它。
我有一个名为MyProject
的主存储库。我有一个辅助存储库,其中包含所有代码生成的数据访问,称为Data
。我想将Data
设置为MyProject
的子模块。
Data
很少更改,除非有架构更改或小错误修复。
假设我正在向MyProject
添加一些需要更改架构的新功能。通常我会创建一个名为MyProject
的{{1}}分支,并在那里检查我的所有更改,直到它准备好与master合并为止。我还想为NewFeature
创建一个分支,以便任何架构更改都与Data
分开,直到我的更改准备合并为止。
什么是正确的工作流程,还是有一个?
谢谢!
答案 0 :(得分:2)
子模块中的分支与父仓库中的分支完全分开。
在父仓库上创建NewFeature
要素分支并不意味着您必须在子模块中创建相同的分支。
它只表示您的父repo将引用NewFeature
分支中该子模块的新提交。子模块提交可以在任何分支中进行(仅在子模块中定义)。
话虽如此,最好在subrepo中创建一个NewFeature
,以建立某种命名约定,使您能够在父repo和子模块之间找到高度耦合的提交集。 />
(另外,如问题“Git submodules: Specify a branch/tag”中所示,子模块本身始终处于分离的HEAD模式中)