一:如何把已有的公共部分變?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命令生成的