gitsubmodule的使用-创新互联
git submodule
文章名称:gitsubmodule的使用-创新互联
网址分享:http://ybzwz.com/article/epscs.html
基本概念就是在一个相对复杂的大项目下面,想独立管理一个子项目。某个工作中的项目需要包含并使用另一个项目,两个项目虽然放在一个repo里面但其实是独立的管理。子模块有自己独立的repo
比如我想在test2mian仓库下添加test2b这个子模块
- git submodule
- 添加submodule
- 更新submodule
在主仓库中添加submodule
git submodule add http://xxx:xx/XieXiaohan/test2b.git
此时项目仓库中会多出两个文件:.gitmodules 和 test2b
注意,此时你还只是在本地添加了submodule,同步到远端需要在主仓库的目录下,add、commit和push
更新submodule- 如果第三方更新了子模块的远程仓库,比如同学a push了一版新的test2b,test2main会发生什么变化呢?
- 点进test2main的远程仓库的图形界面上,发现test2b关联的版本还是之前的版本,没有变化
- 本地的test2b也不会发生变化
- 此时如果需要同步更新,则进入test2b的路径,git pull即可,其实就是把test2b当作完全独立的仓库操作
- 再在test2main的路径下add commit push,就可以在test2main的远程仓库里看到,test2b关联的是最新的版本了
- 如果在本地的test2main更改了test2b的代码
情况一:
- 直接在test2main的路径下面add/commit会显示没有更新
- 需要进入test2b的路径下add/commit
- 回到test2main下,再次add/commit,然后push
- 你会发现test2mian的本地和远程仓库都更新了,test2mian中的test2b也关联了新版本,但是!!test2b的远程仓库并不会更新
- 当你再进入test2b中git push,才会发现test2b的远程仓库更新了,且test2b的版本号和main中的test2b的版本号一致
情况二:
- 直接在test2b下push到子模块的远程仓库
- 首先test2b的远程仓库会更改到最新版本
- 但是test2mian的远程仓库还是没有变化
- 要回到test2main的路径下,重新add/commit/push,才会更新
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:gitsubmodule的使用-创新互联
网址分享:http://ybzwz.com/article/epscs.html