ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【SourceTree】告别复杂操纵!用SourceTree秒懂Git子模块管理 [打印本页]

作者: 杀鸡焉用牛刀    时间: 2024-12-12 04:33
标题: 【SourceTree】告别复杂操纵!用SourceTree秒懂Git子模块管理
因为公司项目用git submodules托管,子模块的提谈判及hash值得变化,hash提交不当导致代码覆盖及Jenkins摆设题目,真天下人苦git子模块久矣,现开一篇文章详细讲讲使用SourceTree来去管理git得子模块。
一、前言

本篇文章需要有肯定的git submodules基础认知,包括子模块创建,子模块映射文件.gitmodules等,具体可以看《【Git】Git Submodules 介绍(通俗易懂,总结了工作完全够用的 submodule 命令)》这篇文章
接下来先看看sourceTree的安装
二、SourceTree安装

下载地址:





三、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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4