最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Git SubTree 使用

    正文概述 掘金(littleding)   2021-03-07   820

    场景介绍

    协同开发模式,组件库与业务项目同时开发,常规做法

    • npm
    • subModule
    • subTree

    subModuelesubTree 探索,这里对比下两者,两者都是将组件库作为业务项目的一部分进行协同开发,区别如下

    一、subModule 方式

    1. 安装

    使用 submodule 的方式安装, 父仓库中使用命令添加子仓库(SubModule)

    git submodule add http://xxx.git src/SubModule
    

    添加成功后,在项目src目录中能够看到新增的文件夹SubModule。 另外新增了文件.gitmodules,在里面增加了对SubModule的一些描述。

    2. 更新

    在父仓库目录下git pull之后,立即执行

    git submodule update --remote
    

    3. 删除SubModule

    • 删除.gitmodules
    • 删除.git/config 相关配置
    • 删除.git/modules
    • 删除子仓库目录(src/SubModule)
    执行命令
    git rm --cached <本地路径>
    // eg:
    git rm --cached src/SubModule
    

    4. 缺点

    无法控制 SubModule 经常会有场景问题

    不想用户更改 SubModule 比较难以实现

    二、subTree 方式

    1. 简化远程子仓库地址

    这里把子仓库的地址作为一个远程仓库地址,设置别名 sub ( 名称随意)

    git remote add -f sub http://git.xxx.git
    

    2. 添加 subtree

    仅在新建项目或者首次添加 subtree 时,添加一次即可

    git subtree add --prefix=src/subTree sub master 
    

    3. 从源仓库拉取更新 subtree

    如果 组件 仓库更新了,可以从源仓库拉取更新,使用 git subtree pull

    git subtree pull --prefix=subtrees/subtreeA http://xxxxxxxx/subtree-project.git master
    // eg
    git subtree pull --prefix=src/subTree sub master 
    

    4. 推送修改到源仓库

    当前需要贡献组件给 subtree

    如果在父仓库里修改了sub(源仓库)代码,使用 git subtree push命令。 为防止本地冲突,建议push前先执行源仓库pull命令,拉取最新的代码:

    git subtree pull --prefix=src/subTree sub master --squash
    git subtree push --prefix=src/subTree sub master
    

    5. 父仓库删除 subtree

    • 手动删除父仓库 src/subTree 文件夹
    • commit 提交到父仓库

    6. 报错处理

    Working tree has modifications. Cannot add.

    解决办法:

    • 检查本地修改是否都提交,如有,则需要先提交本地业务项目的修改;
    • 尝试切换到本地其他分支,再切换回来

    起源地下载网 » Git SubTree 使用

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元