git subtree 拆分split repository】的更多相关文章

subtree出现,是为了取代submodule http://wenku.baidu.com/link?url=ola85Z5tIXJpxCjLTk-dcO81ayXLs68_y6dsmXIa0niF8vWlnAtnEEiZTGlzCNk1G_g36UYNHUBpu9oszONFNB54LNzo3rX7W_ULJg-P-eG Using Git subtrees to split a repository  使用git subtree来拆分一个版本库 Splitting a subfolder…
https://lostechies.com/johnteague/2014/04/04/using-git-subtrees-to-split-a-repository/ We are in a position where we needed to create a new back-end后端 server for an application. The current application is on a MEAN stack (Mongodb, Expressjs, Angularj…
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次子项目修改了后要init和update.万一哪次没update就直接"commit -a" 或者 "add ." 全commit上去就悲剧了. git subtree虽然比git submodule更好用,但也不是特别完美的解决方案,使用时一定要特别注意. git-su…
方法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/…
一.需求描述: 现有一个git仓库,Team A和Team B的人操作同一仓库的不同目录,Team A的dev希望Team B的dev没有权限review属于Team A的代码目录,故现需要先将这个git 库下的子目录进行拆分,为后续单git库权限独有覆盖做准备. 二.操作背景: Ubuntu shell(终端) 三.迁移(使用filter-branch命令) 由于我需要迁移的子目录包含中文名,因此需要使用filter-branch命令来实现迁移,当然,如果不包含中文的目录也可以使用git1.8…
方案对比 subtree 使用命令 git subtree split -P dirPath -b branchName 将目标文件夹的代码都保存到指定分支.试了下,该方案虽然保留了 commit,但是所有分支全都没了 filter-branch git filter-branch --prune-empty --subdirectory-filter dir1 -- --all --prune-empty:表示如果修改后的提交为空则扔掉不要 --subdirectory-filter:指定子目…
这个是备忘录.原网页(https://medium.com/@porteneuve/mastering-git-subtrees-943d29a798ec , http://cncc.bingj.com/cache.aspx?q=master+git+subtree&d=5034897297048421&mkt=zh-CN&setlang=en-US&w=LLr-ePxnq8vxmyPDrHjzRWkbxVPwbcO4)被gfw墙,从cache中复制过来的,以备忘. Mas…
如果你的项目中有很多第三方的lib,你希望使用它,并且也希望可能对该lib做修改并且贡献到原始的项目中去,或者你的项目希望模块化,分为几个repo单独维护,那么git subtree就是一个选择.git subtree管理的子项目在父项目中作为一个完整的代码copy存在,并不包含历史信息.综合考虑git subtree和git submodule的优缺点,一个可行的管理策略是:使用git subtree对父项目(在该父项目中可以临时将子项目文件夹加入到tracking中)做split,将需要单独…
语法:git subtree split -P <被裁减的目录> -b <分支> git subtree split -P SDK/CustomUI(需要裁减的) -b CustomUI-2(裁减到得分支) 语法:git subtree add --prefix=<子目录名> <子仓库名> <分支> --squash git subtree add --prefix=SDK/CustomUI(关联) /work/Que/Qupai/Android…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8427796.html 场景一:已有一个大项目,需要把其中一部分内容独立出来作为共用子项目,被其他项目引用 一:先分拆 cd 项目A git subtree split -P 项目A的某个目录 -b 子项目名 cd ../ mkdir tempDir cd tempDir git init git pull ../项目A 子项目名 git remote add 子目录名 子项目仓库地址 git push 子项…
移动互联网的爆发以及响应式页面的尴尬症,开发web和mobile项目成为了标配,当然实际情况下,会有更多的项目. 多项目开发对于前端来说是个很大的挑战✦ 重复,重复的前端架构,重复的前端依赖,重复的工具函数等✦ 局限,不同后台有不同的规则,“因地制宜”真难受,刚伺候好rails又突然来个php✦ 最优,后台工程做前端构建,总是显得不够“最优”. 所以,我们需要单独抽离出前端开发项目,按照前端的方式来组织代码,通过构建工具来对前端资源文件做最优处理那么新问题来了,如何管理这个快速迭代,频繁更新的前…
背景 随着项目的成长,单页spa逐渐包含了许多业务线 商城系统 售后系统 会员系统 ... 当项目页面超过一定数量(150+)之后,会产生一系列的问题 可扩展性 项目编译的时间(启动server,修改代码)越来越长,而每次调试关注的可能只是其中1.2个页面 需求冲突 所有的需求都定位到当前git,需求过多导致测试环境经常排队 基于以上问题有了对git进行拆分的技术需求.具体如下 目标 依然是spa 由于改善的是开发环境,当然不希望拆分项目影响用户体验.如果完全将业务线拆分成2个独立页面,那么用户…
例如: # 这就是那个大仓库 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仓库做了一次分拆,解锁一个好用的工具git-filter-repo,给大伙抛砖一波,希望以后遇到类似场景时可以信手拈来. 背景 笔者团队目前是把业务相关的java项目都放到了一个git仓库中,发展初期项目较少放到一块图的就是一个方便,但是几年下来随着项目.人员.玩法等多了以后逐渐显现出一些问题,主要痛点有以下:1.效率:更新代码缓慢,会下载很多我不关心的内容,既影响开发效率也影响jenkins打包的效率:2.冲突:合并代码冲突率显著增高,而且一旦冲突往往很难解决,兄弟们苦…
git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思: 1.AI子目录使用AI的git项目来填充,内容保持一致. 2.当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来. 3.反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项目. 用git subtree可以轻松满足上面的需求…
git subtree 是不错的东西,用于 git 管理子项目. 本文记录我遇到问题和翻译网上的答案. 当我开始 pull 的时候,使用下面的代码 git subtree pull --prefix=<本地子项目目录> <远程库仓库地址 | 远程库别名> <分支> --squash 其中--squash 参数是把子项目的记录合成一次 commit 提交到主项目,这样主项目只是合并一次 commit 记录. 但是在我执行这句代码的时候,出现下面的错误 Working tr…
 字符串拆分(split)与游标的使用 CREATE TABLE Plates ( ,), ) NOT NULL, [BusinessId] INT NOT NULL, ) ),),), SELECT @CodeStr = 'A|B|C|D|E' )) set @TCode='insert into #temp select CodeP='''+ replace(@CodeStr,'|',''' union all select ''')+''' ' exec (@TCode) --select…
一.第一方法 git clone https://github.com/git/git.git cd git/contrib/subtree sudo make prefix=/usr sudo make prefix=/usr install sudo make prefix=/usr install-doc Then command git subtree should be available. 二.第二种方法 git clone https://github.com/git/git.gi…
原文:http://aoxuis.me/post/2013-08-06-git-subtree 使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思: AI子目录使用AI的git项目来填充,内容保持一致. 当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来. 反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项…
git pull“No remote repository specified”解决方法 学习了:http://www.paopaoche.net/jiaocheng/77226.html 修改“.git”文件夹里面的“config”文件的url就可以了: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunico…
sqlserver字符串拆分(split)方法汇总   --方法0:动态SQL法declare @s varchar(100),@sql varchar(1000)set @s='1,2,3,4,5,6,7,8,9,10'set @sql='select col='''+ replace(@s,',',''' union all select ''')+''''PRINT @sqlexec (@sql) if exists (select * from dbo.sysobjects where…
Git Subtree 的原理 首先,你有两个伟大的项目——我们叫他P1项目.P2项目,还有一个牛逼的要被多个项目共用的项目——我们叫他S项目.我们通过简要讲解使用Subtree来同步代码的过程来解释Subtree的原理 1.初始化子项目Subtree 通过 cd P1项目的路径 git subtree add --prefix=用来放S项目的相对路径 S项目git地址 xxx分支 这样的命令,把S项目(我们姑且叫他S项目)的代码下载到--prefix所指定的目录——我们姑且叫他S目录把,并在P…
遇到问题: git本地仓库,如果长时间不进行清理,几个月以后的某一天,可能拉取代码的时候突然提示你 git Auto packing the repository in background for optimum performance. See "git help gc" for manu... 原因解释: 自己本地一些 “悬空对象”太多(git删除分支或者清空stash的时候,这些其实还没有真正删除,成为悬空对象,我们可以使用merge命令可以从中恢复一些文件), 解决方案: 1…
字符串的拆分可以利用android的 split 来简单实现 具体看如下代码: String s3 = "Real-How-To"; String [] temp = null; temp = s3.split("-"); etShow.setText(temp[] + ]); 但是要注意的是,如果使用"."."|"."^"等字符做分隔符时,要写成s3.split("\\^")的格式,…
public static void main(String[] args) { String s = "A1B2C3D4E5F6G7H8"; String[] arr1 = s.split("[1-8]"); String[] arr2 = s.split("[A-H]");// System.out.println(Arrays.toString(arr1));//[A, B, C, D, E, F, G, H] System.out.pri…
要提交更改到Bonobo服务器管理的某个Repository(库),必须先得在Bonobo服务器上有此Repository(库)——简直就是废话.那么怎么才能这个Repository(库)变出来呢?其实很简单,在Bonobo网站里新建一个就可以了,具体步骤看看这篇随笔.这里介绍如何在Git Gui上新建本地Repository(库),并在本地新建文件.修改文件,然后将更改commit(提交)到本地库,最后push(推)到远程的Bonobo服务器.操作步骤和注意事项如下: 打开Git Gui,如图…
很久之前写过一篇Git: Setup a remote Git repository,留意到有前同事谈论到Git的一些操作,就把Git值得留意的操作补补全吧.这次,主要讲述Git远程Repository的一些基础操作. 操作远程Repository,无外乎两个方面:获取远程Repository中最近的Change:提交自己本地最新的Change. 在介绍这两个操作之前,有个基本概念,就是本地会有一个branch对应于远程repository branch,即所谓的追踪关系(tracking).譬…
数据源: 一列若干行数据. 目标: 根据特定条件拆分 操作过程: 选取"品名"列>[主页](或[转换])>[拆分列] 选取"品名"列>[主页](或[转换])>[拆分列] M公式: = Table.SplitColumn( 表, "待拆分列", 拆分函数, {"拆分列1",-, "拆分列n"}或拆分列数) 拆分函数Splitter.Split- 扩展: 拆分表:= Table.Spli…
--方法0:动态SQL法declare @s varchar(100),@sql varchar(1000)set @s='1,2,3,4,5,6,7,8,9,10'set @sql='select col='''+ replace(@s,',',''' union all select ''')+''''PRINT @sqlexec (@sql) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_sp…