首页 > 其他分享 >git仓库支持submodule

git仓库支持submodule

时间:2023-06-03 10:55:50浏览次数:30  
标签:opt git 仓库 submodule gaga com

概述

git仓库引用其他仓库,类似软连接

//used
git submodule add git://github.com/[USERNAME]/[REPO_NAME].git TARGET_FOLDER

在主仓库创建为TARGET_FOLDER的文件夹
这会克隆一个外部仓库: git://github.com/[USERNAME]/[REPO_NAME].git 到 TARGET_FOLDER,类似 git clone
这同时将自动生成一个.submodules目录

01、初始化仓库

all
test001
test002
test003

all仓库下
    test001  -> git仓库地址 test001
    test002  -> git仓库地址 test002
    test003  -> git仓库地址 test003

[email protected]:opt/all.git

[email protected]:opt/test001.git
[email protected]:opt/test002.git
[email protected]:opt/test003.git

02、使用submodule创建主仓库目录

git submodule add [email protected]:opt/test001.git test001
git submodule add [email protected]:opt/test002.git test002
git submodule add [email protected]:opt/test003.git test003

03、提交代码到git all仓库

git add .
git commit -m "UPDATE"
git push
git push -u origin master

git submodule 
git submodule status
git submodule update
git remote -v

04、在all仓库构建

//git clone时候需要加上--recursive,否则克隆下来的 TARGET_FOLDER是空文件夹
git clone --recursive [email protected]:opt/all.git

如果没加--recursive,克隆后只需要初始化子模块
git submodule update --init --recursive

标签:opt,git,仓库,submodule,gaga,com
From: https://www.cnblogs.com/xiaochina/p/17453396.html

相关文章

  • git一些小经验(3)----不再跟踪纳入git管理的文件或目录
    纳入git管理的有些文件,后续不想再纳入管理了,怎么处理?比如之前我开发的输入法的数据文件,刚开始是需要纳入git管理的,以便存储初始的数据文件,但是这个文件需要不断刷新,这样后续就不需要继续纳入管理了,怎么取消呢?参考:https://blog.csdn.net/marco006/article/deta......
  • mac电脑git配置sshKey后不能下拉代码
    配置全局gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱gitconfig--list//查看配置的用户ssh-keygen-trsa-C248******@qq.com//输入邮箱,一直回车(遇到y/n,选y)ls-al~/.ssh//查看是否生成了私钥,公钥(id_rsa是私钥id_rsa.pub是公钥)......
  • gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
    介绍在gitlabci中,不同的stage都会重新下载代码,例如下面的.gitlab-ci.ymldefault:image:ruby:2.7.5stages:#运行的阶段顺序-build-test-deploybuild:#job的名称stage:build#阶段的名称script:-ls-l-echo123>test1.txt#在......
  • gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
    介绍在gitlabci中,不同的stage都会重新下载代码,例如下面的.gitlab-ci.ymldefault:image:ruby:2.7.5stages:#运行的阶段顺序-build-test-deploybuild:#job的名称stage:build#阶段的名称script:-ls-l-echo123>test1.txt#在......
  • 数据仓库之商品订单数仓开发
    ods层在ods_mall中需要创建以下针对商品订单数据的表表名说明导入方式ods_user用户信息表全量ods_user_extend用户扩展表全量ods_user_addr用户收货地址表全量ods_goods_info......
  • 数据仓库之订单拉链表实战
    什么是拉链表针对订单表、订单商品表,流水表,这些表中的数据是比较多的,如果使用全量的方式,会造成大量的数据冗余,浪费磁盘空间。所以这种表,一般使用增量的方式,每日采集新增的数据。在这注意一点:针对订单表,如果单纯的按照订单产生时间增量采集数据,是有问题的,因为用户可能今天下单,明......
  • git修改提交历史的用户名和邮箱
    1.clone仓库拉取最新代码gitclone2.查看日志--查看没修改之前的作者和邮箱gitlog3.命令行执行修改下面的中文即可,注意之前的邮箱不能写错,大小写都不能错gitfilter-branch-f--env-filter'OLD_EMAIL="原来的邮箱"CORRECT_NAME="现在的名字"CORRECT_EMAIL="现在......
  • git一些小经验(1)----新建git仓库
    创建远程仓库此处假设你已经安装了git,并且配置了远程git仓库的ssh密钥.我是用https://gitee.com/作为远程仓库的,登录之后,在主页右上角,点击加号按钮,就可以创建一个新仓库,如下图所示:创建仓库时,如果预先选择了一些模板,则仓库中就会有一些初始文件.创建本地仓库......
  • git一些小经验(2)----关于git的地址
    git地址有两种格式,如下所示:https://github.com/username/repository.git;[email protected]:username/my-ime.git前者协议是https的,需要提供用户名和密码;后者是ssh协议,需要配置密钥.在gitee网站上,克隆或者下载仓库时,可以看到这两种协议的地址:......
  • 探索 GitHub Copilot:AI 代码伙伴的力量
    引言:在软件开发领域,编写高质量的代码一直是开发者们的追求。然而,代码编写过程中常常会遇到各种繁琐的细节和重复劳动,不仅浪费时间,还可能导致出错。好在现在有了GitHubCopilot,一款由人工智能驱动的代码伙伴,为开发者提供了强大的功能和更高效的编码体验。本文将介绍GitHubCopi......