我正在阅读Phil关于GIT子模块的博客文章,这对我很有帮助。 http://philsturgeon.co.uk/blog/2011/09/managing-codeigniter-packages-with-git-submodules
我想知道更新子模块的过程中的一个步骤:当您对子模块进行更改并检查状态时,它表示您不在工作树中(“您没有头脑”?) 。那你应该是“git checkout master” - ??? - 但是不会撤消所做的所有更改并将子模块返回到先前的状态吗?
因此,对于子模块,我的理解是您执行以下操作:
1。)克隆子模块
2。)初始化和更新子模块**你只做一次吗?
3。)进行更改
4。)在子模块上检查“主人”**这不会让你失望吗?
5.)提交子模块
6。)推送子模块**你可以提交主要项目w / out推送子模块吗?
7.)提交主要项目
只是想在脑海里清理一切。
答案 0 :(得分:0)
我的开始工作流程
小心!您可以将主项目推送到某个公开可用的存储库而不执行第6步,但您确实不应该。因为它变得对外人无法使用。
我的基本工作流程(假设我们已经实现了多项功能)