git仓库拆分】的更多相关文章

最近负责把团队内的git仓库做了一次分拆,解锁一个好用的工具git-filter-repo,给大伙抛砖一波,希望以后遇到类似场景时可以信手拈来. 背景 笔者团队目前是把业务相关的java项目都放到了一个git仓库中,发展初期项目较少放到一块图的就是一个方便,但是几年下来随着项目.人员.玩法等多了以后逐渐显现出一些问题,主要痛点有以下:1.效率:更新代码缓慢,会下载很多我不关心的内容,既影响开发效率也影响jenkins打包的效率:2.冲突:合并代码冲突率显著增高,而且一旦冲突往往很难解决,兄弟们苦…
方法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` 目…
此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 git 拆分仓库在网上已有的案例上来看,分为 submodule 和 subtree. 还有基于这两个方案进行改进的 subrepo.git-repo 等,当然还可以使用 npm 去管理. 准备工作 可以先阅读之前的 submodule . subtree 以及 subrepo 的文章 git-repo 可以阅读 https://code.google.com/archive/p/git-repo/…
方案对比 subtree 使用命令 git subtree split -P dirPath -b branchName 将目标文件夹的代码都保存到指定分支.试了下,该方案虽然保留了 commit,但是所有分支全都没了 filter-branch git filter-branch --prune-empty --subdirectory-filter dir1 -- --all --prune-empty:表示如果修改后的提交为空则扔掉不要 --subdirectory-filter:指定子目…
例如: # 这就是那个大仓库 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…
一.需求描述: 现有一个git仓库,Team A和Team B的人操作同一仓库的不同目录,Team A的dev希望Team B的dev没有权限review属于Team A的代码目录,故现需要先将这个git 库下的子目录进行拆分,为后续单git库权限独有覆盖做准备. 二.操作背景: Ubuntu shell(终端) 三.迁移(使用filter-branch命令) 由于我需要迁移的子目录包含中文名,因此需要使用filter-branch命令来实现迁移,当然,如果不包含中文的目录也可以使用git1.8…
问题背景:     最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目     因为之前规划的原因,原来的四个项目是分两个解决方案来管理的     PC解决方案: #PC解决方案,2015年从Vss迁移到Git 一共三个项目 #F:\WWW\F.COM\WWW Flight.sln Flight.suo Web #PC项目 Qr #第三方接口项目 2015年新增项目,也使用PC解决方案但用分支进行管理,维护单独的通用项目,目前已经将通用…
参考 https://harttle.land/2016/03/22/purge-large-files-in-gitrepo.html https://git-scm.com/docs/git-rev-list https://git-scm.com/docs/git-filter-branch https://git-scm.com/docs/git-verify-pack 改文章是自己操作时查找资料的实践内容,内容完全来自上面的作者. 前言 开发久了,有一些很老的东西,比如一开始没有拆分后…
一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一个简单的批量备份处理. 二.创建流任务 创建名为备份代码库的流任务. 三.添加主流程 3.1 主流程 0. 概览 1. 显示选择文件夹对话框,标题为请选择文件夹,弹窗交互选择需要备份的项目文件夹根目录,存值为变量BackUpRootDir中. 如果常用位置,可以设置初始文件夹位置,以免每次都选来选去…
摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到2个远端的GIT(一个GITHUB国外强制公开,一个oschina国内可不公开). 作者:太初 转载说明:请指明原作者,连接,及出处. 正文 大多数IT工作者,或者直接点程序员,总是上网查资料,往往会提2种问题: A.自己有个想法X,查看网上是否有类似经验的人,告知这条路,这个方法是否走得通?X是否可行?(期望得到答案,少走弯路,怕浪费精力) B.确认想法X或方法可行,但苦于不知道细节,只能查网络资料,比如到博客…