美文网首页
Git subtree组件库的使用

Git subtree组件库的使用

作者: 云醉倚清风 | 来源:发表于2022-11-15 11:03 被阅读0次

    一:如何把已有的公共部分变为组件库

    1:把公共部分在ide中拖入一个文件中

    目的:使用ide的能力让引用文件自动变更引用位置

    由此:
    ├── components
    │   ├── Banner
    │   ├── ComponentA.vue
    │   ├── ComponentB.vue
    │   ├── ComponentC.vue
    │   ├── Filter
    │   └── Loading
    ├── utlis
    └── views
    
    变为:
    ├── components
    │   ├── Banner
    │   ├── Common
    │   │   ├── ComponentA.vue
    │   │   ├── ComponentB.vue
    │   │   └── ComponentC.vue
    │   ├── Filter
    │   └── Loading
    ├── utlis
    └── views
    

    2:将这个目录的文件copy到外面

    目的:保存组件库文件
    保存:ComponentA.vue ComponentB.vue ComponentC.vue

    3:删除此目录

    目的:后续会使用git命令重新增加

    ├── components
    │   ├── Banner
    │   ├── Filter
    │   └── Loading
    ├── utlis
    └── views
    

    4:提交

    目的:不提交添加git在仓库会报错:Working tree has modifications. Cannot add.

    5:自己在git仓库创建一个库

    目的:保存组件库的远程仓库

    6:项目中添加子仓库

    git remote add -f <仓库别名> <仓库地址>
    例子:git remote add -f common git@gitee.com:xxx/web-components.git
    

    别名目的:为了后续不在写仓库的全部地址,只需要记住组件库远程地址的别名即可

    7:项目中添加在仓库关联

    git subtree add --prefix=<本地文件地址> <仓库地址> <仓库分支>
    例子:git subtree add --prefix=Common common master
    等于例子:git subtree add --prefix=Common git@gitee.com:xxx/web-components.git master
    
    • 本地文件地址:本地对应项目放置子仓库的位置,如果是多级 src/xx/Common
    • 仓库地址:远程仓库地址 可用上面第六步的地址别名
    • 仓库分支:远程仓库选择的分支
    ├── components
    │   ├── Banner
    │   ├── Common
    │   ├── Filter
    │   └── Loading
    ├── utlis
    └── views
    

    8:组件库文件拖入git生成的Common文件中

    目的:子仓库添加组件库文件

    9:拉取子仓库的远程仓库

    git subtree pull --prefix=Common common master --squash
    

    --squash 只生成一条commit记录...意思不让分支上的所有提交记录信息合并过来

    10:推送子仓库更改

    git subtree push --prefix=Common common master
    

    二:使用已添加好的组件库的仓库

    clone好后组件库就已添加完毕,后续只需要使用

    git subtree pull --prefix=Common common master --squash
    git subtree push --prefix=Common common master
    

    可以查看git对应的配置文件

    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
    [remote "origin"]
        url = git@gitee.com:leadj/manager-web.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
    [remote "common"]
        url = git@gitee.xxxxx/web-components.git
        fetch = +refs/heads/*:refs/remotes/src/components/Common/*
    

    子仓库的远程仓库是由git remote add -f命令生成的

    相关文章

      网友评论

          本文标题:Git subtree组件库的使用

          本文链接:https://www.haomeiwen.com/subject/puisxdtx.html