Git subtree組件庫的使用

一:如何把已有的公共部分變?yōu)榻M件庫

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

目的:使用ide的能力讓引用文件自動變更引用位置

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

變?yōu)椋?├── components
│   ├── Banner
│   ├── Common
│   │   ├── ComponentA.vue
│   │   ├── ComponentB.vue
│   │   └── ComponentC.vue
│   ├── Filter
│   └── Loading
├── utlis
└── views

2:將這個目錄的文件copy到外面

目的:保存組件庫文件
保存:ComponentA.vue ComponentB.vue ComponentC.vue

3:刪除此目錄

目的:后續(xù)會使用git命令重新增加

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

4:提交

目的:不提交添加git在倉庫會報錯:Working tree has modifications. Cannot add.

5:自己在git倉庫創(chuàng)建一個庫

目的:保存組件庫的遠程倉庫

6:項目中添加子倉庫

git remote add -f <倉庫別名> <倉庫地址>
例子:git remote add -f common git@gitee.com:xxx/web-components.git

別名目的:為了后續(xù)不在寫倉庫的全部地址,只需要記住組件庫遠程地址的別名即可

7:項目中添加在倉庫關(guān)聯(lián)

git subtree add --prefix=<本地文件地址> <倉庫地址> <倉庫分支>
例子:git subtree add --prefix=Common common master
等于例子:git subtree add --prefix=Common git@gitee.com:xxx/web-components.git master
  • 本地文件地址:本地對應(yīng)項目放置子倉庫的位置,如果是多級 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好后組件庫就已添加完畢,后續(xù)只需要使用

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

可以查看git對應(yīng)的配置文件

[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命令生成的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容