推送代码到 GitHub 时出现 "Permission denied (publickey)" 错误,这是因为 SSH 密钥未配置。
在终端运行:
# 生成新的 SSH 密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
# 按 Enter 接受默认文件位置
# 可以设置密码或直接按 Enter 跳过# 启动 SSH agent
eval "$(ssh-agent -s)"
# 添加 SSH 密钥到 agent
ssh-add ~/.ssh/id_ed25519# 复制公钥到剪贴板
pbcopy < ~/.ssh/id_ed25519.pub
# 或者直接显示公钥内容(手动复制)
cat ~/.ssh/id_ed25519.pub- 访问: https://github.com/settings/keys
- 点击 "New SSH key"
- Title: 填写一个描述性名称,例如 "MacBook Pro"
- Key: 粘贴刚才复制的公钥
- 点击 "Add SSH key"
ssh -T git@github.com如果看到 "Hi hermitong! You've successfully authenticated" 说明配置成功!
cd ~/Desktop/AppDev/NotionNext-main
git push -u origin main如果不想配置 SSH,可以使用 HTTPS 方式。
cd ~/Desktop/AppDev/NotionNext-main
git remote set-url origin https://github.com/hermitong/NotionNext.git- 访问: https://github.com/settings/tokens
- 点击 "Generate new token" → "Generate new token (classic)"
- 设置:
- Note: "NotionNext Deploy"
- Expiration: 选择合适的过期时间
- Scopes: 勾选
repo(完整的仓库访问权限)
- 点击 "Generate token"
- 重要: 复制生成的 token(只显示一次!)
cd ~/Desktop/AppDev/NotionNext-main
git push -u origin main当提示输入用户名和密码时:
- Username:
hermitong - Password: 粘贴刚才生成的 Personal Access Token (不是 GitHub 密码)
# macOS 使用 Keychain 保存凭据
git config --global credential.helper osxkeychain推送成功后,Vercel 会自动检测到新提交并开始部署:
- 访问 Vercel Dashboard: https://vercel.com/dashboard
- 进入 hermitong.com 项目
- 查看 "Deployments" 标签
- 等待部署完成(通常 1-3 分钟)
成功标志:
- Deployment Status: ✅ Ready
- Build Logs: 显示 "Build Completed"
- 访问 https://hermitong.com 应该正常显示,没有 5xx 错误
如果部署失败:
- 查看 Build Logs 中的错误信息
- 可能需要检查 Vercel 环境变量配置
部署完成后,使用 Google Search Console 的 URL 检查工具:
- 访问: https://search.google.com/search-console
- 在顶部搜索框输入之前报错的 URL
- 点击 "请求编入索引"
- 查看是否还有 5xx 错误
# 安装 Vercel CLI(如果还没安装)
npm install -g vercel
# 登录
vercel login
# 链接项目
cd ~/Desktop/AppDev/NotionNext-main
vercel link
# 实时查看日志
vercel logs --follow- Google 通常在 1-2 周内重新抓取页面
- 可以在 Search Console 中手动请求重新抓取加速过程
- 在 "索引" → "页面" 中监控索引状态变化
完成推送和部署后:
- ✅ 验证网站正常运行,没有 5xx 错误
- ✅ 检查 Vercel 部署日志,确认没有错误
- ✅ 使用 URL 检查工具测试之前报错的页面
- 📝 记录修复时间,方便后续跟踪 Google 重新索引的进展
- 🚀 继续进行阶段二:广告系统集成(建议等待 5xx 错误完全解决后)
A: 默认分支可能是 main 而不是 master,使用:
git push -u origin mainA: 确保使用的是 Personal Access Token,而不是 GitHub 登录密码。
A: 检查 SSH agent 是否运行,并重新添加密钥:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519A: 检查 Vercel 项目设置中的 Git Integration,确保:
- 已连接到正确的 GitHub 仓库
- Production Branch 设置为
main(或你的主分支名称)
如果遇到问题,请提供:
- 完整的错误信息
- 运行的命令
- 当前的操作步骤