搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
IT小白
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
spring security登录认证授权_spring security 对登录拦截 无需授权
2
LightM-UNet论文摘要_mamba设计1.8m参数unet,比u-mamba小近100倍
3
编译打包自己的云手机(redroid)镜像
4
永恒之蓝简介_永恒之蓝源码
5
图像边缘检测与图像分割常用算法研究分析-含Matlab代码_log算子边缘检测 matlab代码
6
「网络通信」HTTP 协议
7
资料 | 统计自然语言处理基础(中文版)
8
MySQL 高级(进阶) SQL 语句_mysqlsql题目高级
9
什么是 SSH(安全外壳协议)以及如何工作
10
Android高级——Logger日志系统_android logger
当前位置:
article
> 正文
Git笔记7(submodule与subtree)_git submodule foreach git pull
作者:IT小白 | 2024-07-21 14:56:26
赞
踩
git submodule foreach git pull
git init --bare 创建裸库(没有工作区,仅仅存放和中转开发者提交代码)
将一个git仓库引入到另一个git仓库
git submodule add git@xxx mymodule 将远程项目拉取到本地mymodule文件夹中 mymodule事先需要不存在,存在即报错
git add .
git commit -m 'addsubmodule'
git push
在mymodule内git pull 则拉取对应改变
git submodule foreach git pull 拉取所有submodule(可以多个submodule,也可以一个submodule内多个文件)更新
子模块有提交,父模块也需要提交
如果一个工程使用了submodule,那么直接clone父项目的的时候,子项目内会是空的
需要git submodule init 初始化,git submodule update --recursive更新
这里如果clone的时候加上recursive参数,子项目在clone的时候就会被正常clone下来
运行git clone git@xxx parentDir --recursive
删除submodule子项目mymodule↓
git rm --cached mymodule 从暂存区移除mymodule
rm -rf mymodule 从工作区删除mymodule
rm .gitmodules
git add .
git commit -m 'remove submodule'
git push 推送到远程
删除submodule子项目mymodule↑
父工程需要修改子模块的内容,需要git subtree(双向修改)
git subtree可代替git submodule
子项目修改,父项目模块更新:
1.添加subtree远程库 git remote add subtree-origin git@xxx
2.git subtree add --prefix=subtree subtree-origin master --squash将远程subtree-origin库的master分支克隆到subtree目录下(--prefix=subtree可替换为--prefix subtree还可替换为-P subtree,可选参数squash用于将远程多次提交合并为本地的一次提交合并还有一个本地的merge,这样会丢失提交历史)
3.git push推送到远程
4.更新子模块内容git subtree pull -prefix=subtree subtree-origin master --squash
5.git push 将子模块推送到父工程远程仓库
在父项目中子模块中修改
父项目git add . git commit -m 'xxx' git push会将子模块修改推送到父项目远程仓库的子模块
git subtree push -prefix=subtree subtree-origin master -d将子模块修改推送到子项目远程仓库(参数d打开调试信息)
pull的时候间断(有时候加有时候不加)加了--squash参数,会导致git subtree push -prefix=subtree subtree-origin master异常
一开始就加上--squash后,要一直加--squash参数
加上--squash后,有时候找不到共有节点,需要merge
git subtree split 将特定模块的代码分割出来,提交历史仅仅包含对模块里相关文件有修改的提交
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/IT小白/article/detail/861237
推荐阅读
article
解决:
git
每次
push
or
pull
都要
输入
用户名
和
密码
_
git
pull
每次
都要
输入
密码
...
是一个用于配置 Git 凭证存储的命令。具体来说,这个命令告诉 Git 在使用 HTTPS 连接时,将凭证(
用户名
和
密码
...
赞
踩
article
【
GitHub
从入门到精通】
Github
如何
参与
开源
贡献:
pull
request
的详细操作流程_g...
本文深入探讨了
如何
通过
Github
的Pull Request功能参与
开源
项目。文章首先介绍了必要的准备工作,包括创建Gi...
赞
踩
article
IDEA 2023.3
git
pull
时 弹出Add
GitLab
Account 提示_ide...
在
git
pull
拉取代码时,弹出Add
GitLab
Account 提示框。关闭
git
lab插件,就可以了。_id...
赞
踩
article
git
pull
命令_
git
pull
tag...
git
pull
git
pull
命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复...
赞
踩
article
Pull
Request
(PR)步骤_
在
gitee
上新建
pull
request
(
pr
),选择...
【代码】
Pull
Request
(PR)步骤。_
在
gitee
上新建
pull
request
(
pr
),选择好源和目标...
赞
踩
article
github
发起
PR
(
pull
request
)
的
教程以及常见
操作
...
有些企业可能不是使用gitlab自己搭建
的
仓库,而是使用现成
的
服务,比如GitHub企业版。下面是聊聊常见
的
一些
操作
和误...
赞
踩
article
GitHub
上如何进行PR(
Pull
Request
)操作——简版_create
pull
requ...
此版本为简单暴力的实现步骤,先不做太深入的细节分析。此处附上参照地址,特别感谢:https://blog.csdn.ne...
赞
踩
article
git
学习
--
GitHub
上如何进行PR(
Pull
Request
)操作_
git
pre-
pull
...
一、前言昨晚应老师要求参与教材的修正工作,需要涉及到
git
hub上的PR(
Pull
Request
)操作。本来以为很简单...
赞
踩
article
Github
最新注册及使用教程_
repositories
,
branches
,
commits
,
a...
GitHub是一个用于版本控制和协作的代码托管平台;有
repositories
,
branches
,
commits
,
...
赞
踩
article
MyBatis查询数据库之四(动态SQL -- if、
trim
、
where
、set、
foreach
...
在注册用户时,有些信息是必填的,有些信息是非必填的,比如咱们CSDN的信息,用户昵称是必填的....其余的比如个人简介、...
赞
踩
article
MyBatis
<3>:动态SQL的使用<if><
trim
><
where
><set><
foreach
>...
四个常用的动态标签_
mybatis
3
where
mybatis
3
where
动态...
赞
踩
article
Mybatis
标签 [
trim
/
foreach
]_
mybatis
trim
foreach
...
1、
trim
(可以用来代替 where)可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是p...
赞
踩
article
git
pull
代码时:
file
name
too
long
_
git
文件名
过长...
在 Windows 中存在名称(路径)过长的 ECE 文件。_
git
文件名
过长
git
文件名
过长 ...
赞
踩
article
git
pull
时显示File
name
too
long
的解决办法_
git
lab
pull
fil...
在
git
bash中,运行下列命令:
git
config --global core.
long
paths true就可...
赞
踩
article
idea
使用
git
拉不
下来
子
模块
信息(巨坑)!_
git
子
模块
pull
不
下来
...
其他用户创建新
模块
,上传至
git
上,我使用
idea
使用
git
下去不
下来
!_
git
子
模块
pull
不
下来
git
子
模块
...
赞
踩
article
Git
submodule
子
模块
的管理和
使用
_
子
模块
化
子
集...
Git
submodule
子
模块
的管理和
使用
_
子
模块
化
子
集
子
模块
化
子
集 ...
赞
踩
article
git
pull
拉取
微信
小
程序
子包
代码后报错问题处理_
微信
小
程序
pull
failed
...
子包
版本与主包版本不一致导致
拉取
代码问题。(3)
git
切换到
子包
的master分支。1、主包中
拉取
子包
命令。2、
拉取
完成...
赞
踩
article
从
GitHub
上无法
下载
子
模块
问题解决_
git
submodule
不
下载
...
从
GitHub
下载
同文trime输入法时因为墙的原因,导致无法链接到
GitHub
,特别是
子
模块
没法
下载
。经过这几天的尝试...
赞
踩
article
Pull
Request
(PR)步骤_
创建
pull
request
...
【代码】
Pull
Request
(PR)步骤。_
创建
pull
request
创建
pull
request
...
赞
踩
article
Github
或
Gitlab
等申请
PR
或MR(
pull
reque
st
&
merge
reque
st
...
最初dev在c3,feat在c5,从dev拉出dev_tmp肯定也在c3(左图),此时feat
合并
到dev_tmp,de...
赞
踩
相关标签
git
github
开源
gitlab
学习
前端
git使用
PR
Github
mybatis
sql
java
trim
foreach
submodule