子模块在项目开发中,经常会遇到这种情况:某个工作项目中包含另一个项目,或者是第三方库,或者独立开发时,用多个父项目的库问题来了:想把他们当成两个独立的项目,又想在一个项目中使用另外一个,该如何解决呢?答案很简单,那就是使用Git的子模块功能。
子模块允许将一个git仓库作为另一个仓库的子目录,能让你将一个仓库clone到自己项目中,同时还保持独立的提交
Git使用子模块将一个已存在的仓库添加为正在工作的项目的子目录。
添加submodule默认情况下,子模块将会放到一个与仓库同名的目录中此时运行git status,会发现有几个新增的文件首先是.gitmodules文件,该文件中包含了文件保存的URL与本地目录之间的映射。
我们可以查看下.gitmodules文件内容。
.gitmodule文件内容clone含有子模块的项目在clone主项目的过程中,默认会包含子模块的项目,但其中没有任何文件。
clone带有子模块的项目进入到DbConnector目录,该目录是空的。必须运行下面两个命令:
检出子模块或者使用–recrusive选项,会自动初始化并更新每一个子模块。
自动更新子模块包含子模块的项目上工作子模块和主项目可以独立进行开发,但是子模块和主项目上的工作需要单独提交,在子模块提交后,即使主项目未有任何修改,在主项目中也会有记录,因此主项目也要commit一次,主项目是通过commit id与子模块保持代码一致的。
在子项目开发完后,进行提交。
子项目commit然后切换到主项目目录下,进行提交。
主项目commit总结今天这篇文章主要讲的是Git子模块的知识,如果你也做过涉及子模块的项目,应该会对这篇文章有感触吧。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容