git-subtree

2017-09-22  本文已影响17人  zhCN_超

多个工程,存在通用目录或文件内容

举例

工程P1,目录结构:

工程P2,目录结构:

test.js可以为共有

观察P1P2(下称主工程),我们可以把test.js 独立成一个子工程,只有一个分支master,根目录只有一个文件:

准备

主工程根目录最好不为空(什么文件都没有)
主工程根目录下执行:

$ git remote add 自定义名称 子工程仓库地址
$ git subtree add --prefix=项目自定义路径 自定义名称 子工程分支名称

操作之后,会将子工程根目录下所有内容(不包括项目根目录)clone项目自定义路径路径下

项目自定义路径最好不为项目根目录(/./等,我没成功-_-!!!)
自定义名称上下要对应
子工程分支名称使用子工程哪个分支

操作

主工程改动了子工程

正常push主工程之后,额外push子工程内容:

$ git subtree push --prefix=项目自定义路径 子工程仓库地址 子工程分支名称

直接在子工程改动

主工程更新引入的子工程

$ git subtree pull --prefix=项目自定义路径 子工程仓库地址 子工程分支名称

其它

主工程中对子工程内容进行了改动,那么主工程涉及到的commit记录都会在子工程中保留。

最后

谢谢阅读。

上一篇 下一篇

猜你喜欢

热点阅读