如何将硕大笨重的git仓库拆分成灵活轻巧的模块小仓库
2024-09-01 08:07:42
方法1、拆分一个子目录为独立仓库
参考链接:https://segmentfault.com/a/1190000002548731
以前是用 filter-branch 来实现,这个需求太常见了,有人做了个整合的 git-subtree,再后来……subtree
集成进 Git 了。
# 这就是那个大仓库 big-project
$ git clone git@github.com:tom/big-project.git
$ cd big-project
# 把所有 `codes-eiyo` 目录下的相关提交整理为一个新的分支 eiyo
$ git subtree split -P codes-eiyo -b eiyo
# 另建一个新目录并初始化为 git 仓库
$ mkdir ../eiyo
$ cd ../eiyo
$ git init
# 拉取旧仓库的 eiyo 分支到当前的 master 分支
$ git pull ../big-project eiyo
方法2、按模块新建模块目录,重新创建git仓库
在不影响原来Jenkins构建体系情况下,需要思考的问题如下:
原来编译rpm包的触发条件如何触发编译脚本? 写一个脚本遍历每个模块目录,如何有模块更新就返回该模块目录
如何检测每个git模块仓库是否有更新? 用 Git Hooks 进行自动部署 参考链接:https://segmentfault.com/a/1190000003836345
如何配置使用git钩子? https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90
方法3:使用git branch-filter
没有验证通过,执行时导致文件目录被删除,验证时建议将原仓库进行备份
参考链接:https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-Git-%E9%92%A9%E5%AD%90
最新文章
- ios10.2真机调试包,ios升级10.2后需要添加
- intellij idea Maven 创建项目时出现的一些问题
- python---基础之模块,列表,元组,字典
- Visual C# 代码段
- VIM编辑器之常用命令
- 不能返回函数内部new分配的内存的引用
- XenServer安装虚拟机---先扩容存放ISO镜像文件
- leetcode@ [274/275] H-Index &; H-Index II (Binary Search &; Array)
- jquery 实现全选反选
- freemarker定义自己的标签错误(八)
- decimal system 2016
- Ubuntu 16.04 安装Go 1.9.2
- 一、Oracle 安装
- 剑指offer——python【第54题】字符流中第一个不重复的字符
- js多次触发事件,在一定延迟内只执行一次 (事件累加)
- Java中的权限修饰符
- Android - View的绘制流程一(measure)
- Server.MapPath 出现未将对象引用设置到对象的实例
- 3种PHP连接MYSQL数据库的常用方法
- Oracle内存管理(之二)