Skip to content

同步Vben.js 本仓库使用

由于本项目使用Vben.js作为后台,因此需要同步Vben.js的代码。 vben.js代码并没有定期发布版本的习惯,因此本项目会在每一个月的25-31号同步一次最新的代码。保证项目的代码是最新的。为了 避免代码冲突,本项目的1.0 版本在app/elsfs-system-ele目录下,变基步骤为:

1. 拉取最新代码

shell
git clone -o origin https://gitee.com/jglab/elsfs-cloud-admin
cd elsfs-cloud-admin
git remote add up  https://github.com/vbenjs/vue-vben-admin
# 拉取 origin 的最新代码
git fetch origin
# 拉取 up 的最新代码
git fetch up

2. 创建并切换到临时分支

shell
# 创建并切换到临时分支,基于 up/main
git checkout -b temp-rebase up/main
# 然后基于此创建临时分支
git checkout -b temp-rebase

3. 执行变基操作

shell
# 将当前分支(up/main的内容)变基到 origin/main 上
git rebase origin/main

如果遇到冲突:

shell
# 解决冲突后继续变基
git add .
git rebase --continue

# 或者跳过当前提交
git rebase --skip

# 或者取消变基
git rebase --abort

4. 变基后的操作

  • 直接更新到 origin/main
shell
# 切回 main 分支
git checkout main

# 合并变基后的内容(fast-forward)
git merge temp-rebase

# 推送到 origin
git push origin main
  • 如果你想创建新分支
shell
# 创建并切换到新分支
git checkout -b feature/up-rebased

# 推送到 origin
git push origin feature/up-rebased

5. 一步到位的简洁方法

shell
# 拉取最新代码
git fetch --all

# 切换到 main 分支并更新
git checkout main
git pull origin main

# 直接变基
git rebase up/main

# 解决可能的冲突
# git add . && git rebase --continue

# 推送  --force-with-lease 强制推送 不推荐
git push origin main

6.注意

在遇到合并冲突时,选择他们的的, 本系统修改文件如下

  • /pnpm-workspace.yaml

计划2.0 重构使用到

  • /packages.json

添加构建和开发脚本

json
{
  "scripts": {
    "catalog": "pnpx codemod pnpm/catalog", // [!code 加逗号]
    "build:system": "pnpm run build --filter=@vben/elsfs-system-ele",
    "dev:system": "pnpm -F @vben/elsfs-system-ele run dev"
  }
}

手动对比文件

  • 将 apps/web-ele/src/adapter/form.ts 覆盖apps/elsfs-system-ele/src/adapter/form.template.ts
  • 将 apps/web-ele/src/adapter/vxe-table.ts 覆盖apps/elsfs-system-ele/src/adapter/vxe-table.template.ts
  • 将 apps/web-ele/src/adapter/component/index.ts 覆盖apps/elsfs-system-ele/src/adapter/component/index.template.ts
  • ...

修改变更部分 例如 QQ_1765471891528.png

不要覆盖的部分

  1. apps/elsfs-system-ele/src/preferences.ts
  2. apps/elsfs-system-ele/src/store/*
  3. apps/elsfs-system-ele/src/api/*

版权声明