论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
PostgreSQL
›
【SourceTree】告别复杂操纵!用SourceTree秒懂Git子模 ...
【SourceTree】告别复杂操纵!用SourceTree秒懂Git子模块管理 ...
杀鸡焉用牛刀
金牌会员
|
2024-12-12 04:33:37
|
显示全部楼层
|
阅读模式
楼主
主题
889
|
帖子
889
|
积分
2667
因为公司项目用git submodules托管,子模块的提谈判及hash值得变化,hash提交不当导致代码覆盖及Jenkins摆设题目,真天下人苦git子模块久矣,现开一篇文章详细讲讲使用SourceTree来去管理git得子模块。
一、前言
本篇文章需要有肯定的git submodules基础认知,包括子模块创建,子模块映射文件.gitmodules等,具体可以看《【Git】Git Submodules 介绍(通俗易懂,总结了工作完全够用的 submodule 命令)》这篇文章
接下来先看看sourceTree的安装
二、SourceTree安装
下载地址:
官网:https://www.sourcetreeapp.com/
gitee安装包:gitee
三、SourceTree使用
1、克隆堆栈&拉取代码&推送代码
因为前面讲git submodules命令创建过子模块项目,gitee堆栈地址,这边直接拿来用。
目录如图,分为公共模块和子模块,子模块分为1和2;
找到主堆栈url
克隆
任意写点内容,然后暂存到当地
然后写点提交信息,推送到长途堆栈
对于不想要的文件,可以进行移除,大概抛弃本次修改的内容。
如果长途堆栈有代码更新,可点击拉取最新代码。
2、创建分支&合并分支代码
实际开辟中,不可能直接在main大概master分支上开辟,而是从master分支new一个release/1120-learn-git-submodules分支进行开辟,开辟完合test分支,测试通过以后发merge哀求,merge到master/main分支
创建release/1120-learn-git-submodules分支
写点内容提交
合并release/1120-learn-git-submodules分支代码到test分支
合并完了记得推送到长途堆栈
如果遇到辩说(即2个人在同一文件同一位置修改了内容)
打开此辩说文件进行合并修改再提交即可
测试通过,将release/1120-learn-git-submodules合到master/main分支,创建merge哀求
起首点分支:
然后我们更新sourceTree上的main分支
能看到merge的哀求
3、标签
用于对项目重要里程碑节点标识记录 ex:线上发版1.0.0
4、子模块
我们如今来重点讲讲子模块操纵
起首新建一个git-learn-submodules3模块,并添加一个init提交
我这以前有两个子模块,如果项目中没有子模块,右击空缺区域出现添加子模块
主项目中的.gitmodules文件会有子模块3的映射
4.1、创建开辟分支
如今我们模拟下面情况,需要你在子模块3下开辟代码,还需要你在公共模块开辟代码,我们先新建开辟分支,我们将公共模块和子模块3的main分支迁出一个开辟分支,1,2两个子模块保持在main分支不要动
创建release/1120-xxx分支,git-learn-submodules3同理
4.2、开辟分支操纵
创建一个文件,然后推动至远端的release/1120-xxx分支
公共模块有两个改变有,一个是修改的代码,一个是hash变化
这个是开辟分支的模块3的hash
发现两个hash不一样,这就是hash辩说,我们把公共模块hash提交到远端
如许就包管了hash的一致
4.3、开辟分支合test分支操纵
如果其他子模块有变动,担当他变更就行,只用管自己修改的地方
将子模块开辟分支合并到test环境,并推送到远端:
将公共模块代码推动到test环境:
hash一致,推送乐成
4.4、开辟分支合main分支操纵
点击子模块3 git目录merge哀求
拉取到当地
能看到我们的merge操纵
公共模块推送main分支时,先包管其他子模块的分支全部都在main分支下,且没有hash辩说,且开辟分支合过最新的main分支
如下图
包管开辟分支为最新分支
包管hash一致
如许完备的子模块合代码流程完成!
创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
杀鸡焉用牛刀
金牌会员
这个人很懒什么都没写!
楼主热帖
ElasticSearch-高级查询
手把手带你通过API创建一个loT边缘应用 ...
揭秘 ChunJun:如何实现 e2e&session ...
背八股文的都是什么水平
一、kotlin基础语法学习
第4章 复合类型
Ajax+WCF+MySQL实现数据库部署并调用 ...
Apache Hudi 在袋鼠云数据湖平台的设计 ...
大学生网页作业之-个人主页、校园网站 ...
Maven打包遇到No compiler is provided ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表