gitsubmodule的使用-创新互联

git submodule

基本概念就是在一个相对复杂的大项目下面,想独立管理一个子项目。某个工作中的项目需要包含并使用另一个项目,两个项目虽然放在一个repo里面但其实是独立的管理。子模块有自己独立的repo
比如我想在test2mian仓库下添加test2b这个子模块

创新互联公司认为,企业网站是要赋予品质、思维、人性,深入到用户内心的细腻情感,才能真正称得上企业网站。创新互联公司根据每位用户内心最深的需求网站建设服务,坚实的设计执行是品牌长期视觉塑造的重要支持。文章目录
  • git submodule
    • 添加submodule
    • 更新submodule

添加submodule

在主仓库中添加submodule

git submodule add http://xxx:xx/XieXiaohan/test2b.git

此时项目仓库中会多出两个文件:.gitmodules 和 test2b

注意,此时你还只是在本地添加了submodule,同步到远端需要在主仓库的目录下,add、commit和push

更新submodule
  1. 如果第三方更新了子模块的远程仓库,比如同学a push了一版新的test2b,test2main会发生什么变化呢?
  • 点进test2main的远程仓库的图形界面上,发现test2b关联的版本还是之前的版本,没有变化
  • 本地的test2b也不会发生变化
  • 此时如果需要同步更新,则进入test2b的路径,git pull即可,其实就是把test2b当作完全独立的仓库操作
  • 再在test2main的路径下add commit push,就可以在test2main的远程仓库里看到,test2b关联的是最新的版本了
  1. 如果在本地的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://cdiso.cn/article/epscs.html

其他资讯