Vercel 简介

预览部署与版本回滚

理解预览部署与生产部署的区别,学会查看部署历史并一键回滚到旧版本。

🎯 引言

学完这篇文章,你将彻底分清预览部署生产部署的区别,学会利用分支和 PR 自动生成预览环境,并掌握在出问题时一键回滚到历史版本的救命技能。


🧱 两种部署类型

Vercel 里每次部署都属于两种类型之一:

类型触发方式影响的网址
Production(生产)推送到 main 分支、vercel --prod正式域名
Preview(预览)推送到其他分支、PR、vercel每次独立的临时网址

它们的关系就像彩排和正式演出:预览部署是彩排,随便试错;生产部署是正式演出,直接面对观众。


💡 用分支触发预览部署

最常见的开发流程是:新功能不在 main 分支上直接改,而是先开分支,验证没问题再合并。Vercel 完美配合了这个流程。

新建一个分支,修改首页标题后推送:

git checkout -b feature/new-title
# 修改 src/App.vue 里的标题
git add .
git commit -m "update home title"
git push origin feature/new-title

push 完成后打开 Vercel 控制台,会看到一条新的预览部署记录,带有一个独立网址,打开就能看到新标题——而此时你的正式域名毫无变化

在 GitHub 上发起 Pull Request 时,Vercel 还会自动在 PR 里评论预览链接,团队成员点开就能验收效果,这就是预览部署最大的价值。


🕘 查看部署历史

打开项目的 Deployments 页面,这里保存着所有历史部署记录,每一条包含:

  • 提交信息(Commit Message)和分支名;
  • 部署类型(Production / Preview)和状态;
  • 构建用时和部署时间。

每条记录都可以点进去查看构建日志(Build Logs)。线上出问题时,先来这里找到最近一次成功的部署。


↩️ 一键回滚版本

新上线的版本出问题了怎么办?不用慌着重写代码,Vercel 支持瞬间回滚

Deployments 页面的菜单项名称(如 Instant Rollback、Promote)可能随 Vercel 更新而调整。找不到完全一致的选项时,在部署记录的 菜单里选择含义相近的即可。
  1. Deployments 列表找到上一个正常的生产部署;
  2. 点击右侧的 菜单,选择 Instant Rollback(即时回滚);
  3. 几秒钟后,线上就恢复成旧版本了。

回滚只是把正式域名重新指向旧的部署产物,不需要重新构建,所以几乎是即时生效的。这给了我们"先恢复、再排查"的从容。

回滚只影响线上内容,不会改动你的 Git 仓库代码。恢复线上后,记得在本地修复问题并重新推送。

🧾 小节总结

  • 生产部署对应正式域名,预览部署生成独立的临时网址。
  • 推送非 main 分支或创建 PR 会自动触发预览部署,不影响线上。
  • Deployments 页面保存全部部署历史,可查看构建日志。
  • Instant Rollback 能秒级回滚到历史版本,先恢复线上再排查问题。
  • 推荐流程:分支开发 → 预览验证 → 合并 main → 生产上线。

❓ 知识问答

Q1:预览网址会一直有效吗?

A:会保留较长时间,但预览地址主要用于临时验证。长期使用的功能还是要合并到 main 分支走生产部署。

Q2:可以关闭预览部署吗?

A:可以。在项目 Settings → Git 里能调整哪些分支触发部署,不过默认行为已经符合大多数团队的习惯。

Q3:回滚之后还能"回滚回来"吗?

A:可以。每一次部署记录都还在,对新的部署再次执行提升(Promote)操作即可切回去。

Q4:仓库主分支不是 main 会影响生产部署吗?

A:会。Vercel 默认把仓库的主分支作为生产分支,如果你的主分支叫别的名字,要在 Settings → Git 里同步修改 Production Branch。


🧪 小练习

  1. 新建 feature/lucky-number 分支,在首页加一行你的幸运数字,推送后在控制台找到预览部署并访问预览网址。
  2. 合并到 main 分支,确认正式域名更新;然后对上一次生产部署执行一次回滚,观察线上内容变化。
# 请在这里编写 Git 命令

🎉 恭喜你已经掌握了预览部署与回滚!下一篇我们给项目绑定一个属于自己的域名。