更新代码库
使您的 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:
- 📥 下载最新的 NEXTDEVKIT 版本
- 📋 比较您的自定义文件与新版本
- 🔄 有选择地应用更改,重点关注:
package.json
的依赖更新- 配置文件如
next.config.ts
src/lib
和src/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