首页 > 其他分享 >Git子模块使用说明

Git子模块使用说明

时间:2023-07-19 11:24:10浏览次数:38  
标签:src git utils 说明 submodule Git common 模块

介绍

前端不同应用存在公共的脚本样式代码,为了避免重复开发,将公共的代码抽取出来,形成一个公共的 git 子模块,方便调用和维护。

软件架构

本仓库代码将作为 git 子模块,被引用到其他仓库中,不可单独运行。

使用说明

1. 添加子模块

git submodule add https://github.com/*.git /src/utils/common

git submodule add [仓库 url] [项目中的路径(执行后会用最后一级名称创建文件夹)],如图:

项目中的子模块

注意:子模块的路径不能是已存在的文件夹,否则会报错。

2. 更新子模块

可以在单独的项目中修改,也可以在项目中修改,修改后需要提交到远程仓库,其他项目才能更新到最新的代码。

git submodule init
git submodule update

3. 删除子模块

  1. 删除子模块文件夹
git rm -r /src/utils/common
  1. 删除 .gitmodules 文件中相关子模块的信息,类似于:
[submodule "src/utils/common"]
	path = src/utils/common
	url = https://gitee.com/*.git
  1. 删除 .git/config 中相关子模块信息,类似于:
[submodule "src/utils/common"]
	url = https://gitee.com/*.git
	active = true
  1. 删除 .git 文件夹中的相关子模块文件
$ rm -rf .git\modules\src\utils\common

Jenkins

在 Jenkins 中使用子模块,需要配置两个地方:

1. 需要在构建前执行以下命令

git submodule update --init --recursive

2. 配置凭证,用于拉取子模块代码

  1. 选择配置-源码管理

凭证配置

  1. 新增“高级子模块行为”

凭证配置

  1. 勾选“使用默认的远程父仓库凭证”

凭证配置

注意事项

  1. 由于部分项目没有使用 TypeScript,考虑到兼容性问题,本项目使用 JavaScript 编写。如果在 TypeScript 项目中引用,需要在 shims-vue.d.ts 中声明模块。
// 替换为对应的路径
declare module "@/utils/common/*";

参考资料

Git: submodule 子模块简明教程

标签:src,git,utils,说明,submodule,Git,common,模块
From: https://www.cnblogs.com/LFeather/p/17565066.html

相关文章

  • Git使用小结
    本文总结在工作中用到的Git相关内容,可分为基础概念、配置、本地开发、远程仓库等四个部分。基础概念Git将待管理数据当做一个整体,每执行一次gitcommit,都是对代码仓库整体做一次完整备份。Git对每份文件都会计算校验和,用来校验和引用。有一个HEAD指针,始终指向当前所在分支。......
  • python笔记:第十章开箱即用的模块
    1.模块import模块名1.1模块就是程序任何python程序都可以作为模块导入,并标明程序(模块)的位置importsyssys.path.append('路径')importhello//在同一文件夹下会在该文件夹里面自动生成一个__pycache__文件夹,包含处理后的文件。(可删除,无影响)在hello.py里面编写函......
  • git add
    gitadd-A:是上面两个功能的合集(gitadd--all的缩写)gitadd-A提交所有变化gitadd-u提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)gitadd.提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件参考:https://www.cnblogs.com/zkx98/p/165......
  • nginx中编译安装的的模块介绍
    nginx中编译安装的的模块介绍./configure--prefix=/usr/local/nginx--with-http_dav_module--with-http_stub_status_module--with-http_addition_module--with-http_sub_module--with-http_flv_module--with-http_mp4_module--with-pcre--with-http_ssl_module--with-......
  • GitLab + Jenkins + Docker 本地自动化部署
    GitLab+Jenkins+Docker本地自动化部署原创 贺大官人 猿起猿进 2023-07-1215:51 发表于浙江 GitLab+ Jenkins+ Docker+ Nginx 前端自动化部署 注GitLab 本地化部署——前端代码版本管理Docker+ Nginx 本地容器化部署前端项目——需手动上传......
  • git commit 时报错:husky - pre-commit hook exited with code 1 (error)
    在使用git进行commit时出现错误:husky-pre-commithookexitedwithcode1(error)。方式一chatgpt的回答是:报错信息“husky-pre-commithookexitedwithcode1(error)”表示在执行Git提交操作时,pre-commit钩子脚本返回了非零的退出码,表示出现了错误。这种......
  • 基于gitflow的通用分支管理模型
     TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianChineseTraditionalIndonesianSlovakCzechItalianSlovenianDanishJapaneseSpanishDut......
  • 学城项目支付宝支付模块
    1.支付宝开放平台链接地址:https://open.alipay.com/develop/manage2.下载支付宝开放平台密钥工具链接地址:https://opendocs.alipay.com/common/02kipk3.安装支付宝的依赖模块pipinstallpython-alipay-sdk--upgrade4.建立apppython../../manage.pystartapporder......
  • git tag commit ID 标签
    gittag是给commitID标签,这样能让人知道代码在哪个节点,发布了版本,或截至到哪个ID,来做个记录1.查看本地所有tag:gittag或者gittag-l2.查看远程所有tag:gitls-remote--tagsorigin3.指定标签信息tag:gittag-av1.14.创建附注标签示例:gittag-av0.1......
  • 项目立项说明书:GPU自动化
    项目名称:GPU自动化项目概述:本项目旨在开发一个GPU自动化系统,通过编写脚本和使用自动化工具,实现对GPU的管理、监控和任务调度。该系统将提供一种方便和高效的方式来管理大规模GPU集群,优化资源利用和任务执行,并提供实时的性能监控和报告。项目目标:实现GPU资源的......