当前位置: 首页 > news >正文

网络建设方案ppt抖音seo供应商

网络建设方案ppt,抖音seo供应商,动画制作精灵,做公司网站要去哪里找人做常用命令 命令说明git submodule add <url> <本地路径>添加子模块git submodule update --init --recursive添加子模块后&#xff0c;同步子模块内容git clone <url> --recurse-submodules克隆带有子模块的项目git submodule init初始化子模块git submodule…

常用命令

命令说明
git submodule add <url> <本地路径>添加子模块
git submodule update --init --recursive添加子模块后,同步子模块内容
git clone <url> --recurse-submodules克隆带有子模块的项目
git submodule init初始化子模块
git submodule update更新子模块
git submodule sync --recursive子模块地址变更
git submodule deinit <project>删除子模块

背景

浏览开源库的时候经常会看到如下子模块的引用情况。
请添加图片描述

子模块通常是项目比较复杂,需要对项目进行拆分,而项目又有引用关系时会使用。通常拆分项目后,我只需要关注自己的项目更改,不需要关注引用的项目都做了哪些更改。

通常这样拆分后,项目就不会在一个 git 仓库中,这时用 submodule 来管理代码仓库会清晰方便许多。

基本使用

添加子模块

git submodule add <url> <本地路径>,例:

git submodule add https://github.com/grassto/example.git example

执行完毕后,发现仓库目录下多了个 example 目录,但是里面没有任何文件,此时需要再执行:

git submodule update --init --recursive

这时会看到仓库有如下变化:

可以看到 .gitmodules 中有如下内容

[submodule "example"]path = exampleurl = https://github.com/grassto/example.git

另外,.git/config 中会多出一块有关子模块的信息

[submodule "example"]active = trueurl = https://github.com/grassto/example.git

同时在 .git/mudules 目录下会多出 .git/mudules/example 目录。

克隆带有子模块的项目

直接 clone 只能拉取主项目的代码,需要多执行下 submodule 相关的命令,如下两种方式:

git clone https://github.com/grassto/example.git --recurse-submodules

先克隆,再初始化子模块拉取

git clone
git submodule init
git submodule update

更新子模块

git submodule update 
git submodule update --remote

不添加 --remote 参数,只更新子模块到该仓库使用的最新版本,例:

子模块一直在自己开发,更新了 1.0, 1.1, 1.2 版本,但是这时候我的主仓库只使用了 1.0 版本,使用 git submodule update 更新后,发现只能更新到 1.0 版本。

添加了 --remote 参数,则直接更新到子模块仓库的最新版本。

简单理解就是主仓库使用的就是特定版本的子模块仓库,若要更新,需要主仓库主动进行更新再提交。

子模块地址变动

git submodule sync --recursive

若子模块的 url 发生了改变,这时执行 git submodule update 会失败,可以使用 sync 来同步。

这个我没用过,官网上看到的,这里提一下。

删除子模块

git submodule deinit example
git rm example
git commit -m "delete submodule example"

推荐使用上面这种方式,当然也可以手动删除:

  • 删除本地子模块目录
git rm --cached example
rm -rf example
  • 删除 .gitmodules 子模块信息
[submodule "example"]path = examplehttps://github.com/grassto/example.git
  • 删除 .git/config 文件中的子模块内容
[submodule "example"]active = truehttps://github.com/grassto/example.git
  • 删除 .git 文件夹中的相关子模块文件
rm -rf .git/modules/example

总结

  • 使用了 submodule 后,若不主动更新,项目会一直使用固定版本的 submodule 模块,需手动更新(git submodule update --remote)。
  • 若是在 go 或者其他有包管理的项目中,建议还是使用开发语言工具去做这种类似的第三方包管理会比较方便。

其他

作为一个 go 开发,我还是提议使用 go module 来做这种包管理,这里提一下我使用 submodule 的原因:

现在用到了一个包引用的是本地的,使用了 replace 特性,在做 gitlab CI 的时候,需要同步代码仓库,感觉不方便,顾使用了 git submodule 将代码作为子模块。这样就可以使用 gitlabGIT_SUBMODULE_STRATEGY: recursive 特性。

如果你也是个 go 开发人员,这里不建议这么用,因为 go module 是可以引用私有库的,我这样用是有历史原因的。

我需要引用的库的 go.mod 如下,modulenameexample 而不是 github.com/example

module examplego 1.18require ......

使用该模块的时候都是将其拉到本地,然后 replace

module workgo 1.18replace example => ./example

参考

  • 官方文档 Git-Tools-Submodules
  • Git中submodule的使用
http://www.qdjiajiao.com/news/4580.html

相关文章:

  • 天长网站制作世界杯比分
  • 网站官方认证怎么做口碑营销是什么
  • 清溪做网站百度学术论文查重免费检测
  • 郑州餐饮网站建设公司百度网址提交入口
  • 网站建设线上线下双服务器seo关键词排行优化教程
  • 福州企业网站推广百度收录情况查询
  • 塑胶原料东莞网站建设技术支持怎么关键词优化网站
  • 网站推广应该注意什么引流app推广软件
  • 游戏私服发布网站怎么做网络seo是什么工作
  • 房产信息网站模板b站免费版入口
  • 做网站开发学什么语言好cpa推广接单平台
  • 怎样用网站模板做网站百度一下你就知道官页
  • 甘肃省铁路投资建设集团有限公司网站东莞seo靠谱
  • 大数据时代的智能营销seo短视频网页入口引流免费
  • 重庆有哪些做网站 小程序的网站推广方式组合
  • 设计网站的功能有哪些内容通州区网站快速排名方案
  • 服装网站建设物流配送系统渠道推广策略
  • 舟山网站建设一个新的app如何推广
  • 青岛做网站好的公司自贡网站seo
  • 唐山网站建设外包公司专门代写平台
  • yyf做的搞笑视频网站推广哪些app最挣钱
  • 云南通耀建设工程有限公司网站鸡西seo
  • 淘宝美工网站怎么做如何自建网站
  • 一般pr做视频过程那个网站有免费入驻的电商平台
  • 做任务免费得晋江币网站楚雄百度推广电话
  • 济南广运建设公司网站新媒体seo培训
  • 柳州城乡建设管理局网站环球军事网最新消息
  • 北京市网站设计百度快速排名软件
  • wordpress独立页面插件谷歌seo技巧
  • 江苏大汉建设实业集团网站微营销平台系统