如何为git主模块和子模块使用一个提交?

时间:2012-06-07 11:22:08

标签: git git-submodules

假设我有一个项目(UI),它有一个git子模块(数据层)。我经常会改变子模块和主要的git repo。是否可以修改两者中的文件并将它们一起提交?

1 个答案:

答案 0 :(得分:1)

它们位于两个单独的存储库中,所以不,不能使用单个提交来提交它们。实际上,由于子模块通常存在于“分离的HEAD”状态,因此您不希望在不确保生成可达提交的情况下提交。

您可能可以编写一个简短的shell脚本来为您处理这个问题(也就是说,您使用提交消息运行shell脚本并且它负责进行所有必要的提交),但这将是一个有点棘手 - 在子模块中提交更改将需要在父存储库中进行提交,因此执行操作的顺序非常重要。确保子模块不处于分离状态应该是一个简单的git checkout master,但是如果失败会怎样?

如果您经常同时更改两者,是否确定需要单独存储库?