Logo文档

更新代码库

使您的 NEXTDEVKIT 项目保持最新的功能和改进

⚠️ 重要注意事项

虽然可以将您的代码库更新到最新版本,但需要注意的是:

  • 🎨 自定义影响复杂性:您进行的自定义越多,更新过程就越复杂
  • 🔄 基于 Git 的更新:更新涉及将您的自定义代码变基到最新的 NEXTDEVKIT 代码之上
  • ⚙️ 合并冲突:您可能需要仔细解决合并冲突
  • 🛡️ 需要测试:更新后务必彻底测试

🚀 开始之前

先决条件检查清单

  • 🧹 干净的 Git 仓库:没有未提交的更改
  • 📋 备份当前状态:创建备份分支
  • 📝 记录自定义:列出所有自定义更改
  • 🧪 测试环境:确保测试通过
  • 📊 依赖关系:检查破坏性更改

备份您的工作

# 创建备份分支
git checkout -b backup-before-update

# 推送备份到远程
git push origin backup-before-update

# 返回主分支
git checkout main

🔄 更新方法

方法 1:Git 合并(安全做法)

这种方法更安全,在您的 git 历史中提供清晰的合并点。

# 1. 添加上游远程(如果尚未添加)
git remote add upstream https://github.com/nextdevkit/nextdevkit-xxx-template.git

# 2. 获取最新更改
git fetch upstream

# 3. 为更新创建新分支
git checkout -b update-nextdevkit

# 4. 合并更改(必要时解决冲突)
git merge upstream/main

# 5. 解决任何合并冲突
# 编辑文件解决冲突,然后:
git add .
git commit -m "Resolve merge conflicts during update"

# 6. 测试更新的代码
pnpm install
pnpm run build
pnpm run lint
pnpm run test

# 7. 如果一切正常,合并回主分支
git checkout main
git merge update-nextdevkit

方法 2:Git 变基(为了干净的历史)

这种方法创建更干净的线性历史,但需要更多的 Git 经验。

# 1. 添加上游远程
git remote add upstream https://github.com/nextdevkit/nextdevkit-xxx-template.git

# 2. 获取并变基
git fetch upstream
git rebase upstream/main

# 3. 如果出现冲突则解决
# 对于每个冲突:
# - 编辑冲突文件
# - 暂存已解决的文件:git add <file>
# - 继续变基:git rebase --continue

# 4. 强制推送(如果需要)
git push --force-with-lease origin main

方法 3:手动更新

如果您喜欢手动更新或最初没有使用 Git:

  1. 📥 下载最新的 NEXTDEVKIT 版本
  2. 📋 比较您的自定义文件与新版本
  3. 🔄 有选择地应用更改,重点关注:
    • package.json 的依赖更新
    • 配置文件如 next.config.ts
    • src/libsrc/components 中的核心功能
    • drizzle/ 中的数据库迁移

📦 依赖更新

更新所有依赖

pnpm update

更新特定依赖

# 更新 Next.js
pnpm install next@latest

# 更新 Drizzle ORM
pnpm install drizzle-orm@latest drizzle-kit@latest

# 更新 Better Auth
pnpm install better-auth@latest

# 更新 UI 组件
pnpm install @radix-ui/react-*@latest

🗄️ 数据库架构更新

当更新包含数据库架构更改时:

检查迁移文件

# 检查新的迁移文件
ls -la drizzle/

# 查看迁移更改
cat drizzle/0003_new_migration.sql

应用迁移

# 生产环境
pnpm run db:migrate

# 打开 Drizzle Studio 验证
pnpm run db:studio