git:git modules

编程入门 行业动态 更新时间:2024-10-08 18:38:20

<a href=https://www.elefans.com/category/jswz/34/1770885.html style=git:git modules"/>

git:git modules

一、场景

组件库、api库、多项目的公共部分提取,为微前端做基础。

二、git modules是什么

开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。

子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。

三、理解git submoudle

有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
Git 通过子模块来解决这个问题。 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。

四、操作

​git submodule add (仓库地址)


五、 .gitmoudles配置

首应当注意到新的 .gitmodules 文件。 该配置文件保存了项目 URL 与已经拉取的本地目录之间的映射。

如果有多个子模块,该文件中就会有多条记录。 要重点注意的是,该文件也像 .gitignore 文件一样受到(通过)版本控制。 它会和该项目的其他部分一同被拉取推送。 这就是克隆该项目的人知道去哪获得子模块的原因。

六、vue-config.js配置alias,方便引用:

build: {publicPath: process.env.PUBLIC_PATH,extractCSS: isProd,styleResources: {less: '../m-front-common/pc/assets/m-var.less',},extend(config, {isDev}) {const alias = (config.resolve.alias = config.resolve.alias || {})alias['@components'] = path.join(__dirname,'m-front-common/pc/components')alias['@api'] = path.join(__dirname, 'm-front-common/pc/api')alias['@services'] = path.join(__dirname, 'm-front-common/pc/services')alias['@const'] = path.join(__dirname, 'm-front-common/pc/const')alias['@mixins'] = path.join(__dirname, 'm-front-common/pc/mixins')alias['@assets'] = path.join(__dirname, 'm-front-common/pc/assets')alias['@pc'] = path.join(__dirname, 'm-front-common/pc')},},

七、使用:

 八、提交代码时需要分别提交,从vscode即可看出来:

九、注意:

 当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:

git submodule update --init --recursive

十、 参考文献

Git - 子模块

git中submodule子模块的添加、使用和删除_guotianqing的博客-CSDN博客

微前端实现共享方式之--git submodule 使用说明 - 简书

.gitmodules详解(Git子模块配置)_杨小扬的专栏-CSDN博客

gitmodules - [ Git中文开发手册 ] - 在线原生手册 - php中文网

git submodule的使用(.gitmodules文件子模块加载)_大唐锦绣的博客-CSDN博客_gitmodules

git submodule: already exists in the index_工程人在路上的博客-CSDN博客_git submodule 已经存在于索引中

十一、欢迎留言指正,留言必回

更多推荐

git:git modules

本文发布于:2024-02-19 12:55:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764076.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:git   modules

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!