← Back to Ideas
tech

记录自己的第一次个人网站的上线

A practical deployment note on the first launch of this site, from Git wiring to the small mistakes that slowed it down.

George Hu6 min readtech

写好网站的代码后,第一件事就是想要上线看看效果。根据 xhp 的推荐,我选择了 Vercel 作为部署平台。Vercel 自带服务器,并且可以自动生成域名,对新手非常友好 🎉

但在部署过程中,我遇到了几个 Git 相关的问题。这些问题 AI 很难直接帮你解决,因为涉及具体的本地环境和操作流程。这里把我的踩坑经验整理一下,希望能帮到同样在路上的你。


问题一:Commit 后仍需配置远程仓库

很多人(包括我)会以为 git commit 完就万事大吉了,但其实还需要把本地仓库和远程 GitHub 仓库关联起来。

检查并配置远程仓库

# 查看当前远程仓库配置 git remote -v # 如果没有任何输出,说明还没配置远程仓库 # 添加远程仓库(替换为你的用户名和仓库名) git remote add origin https://github.com/你的用户名/你的仓库名.git # 再次验证配置是否成功 git remote -v

💡 小提示:origin 是远程仓库的默认别名,你可以自定义,但保持默认最省事。


问题二:日常 Git 使用流程不熟悉

刚开始用 Git 时,容易忘记命令顺序。我整理了一个「最小可用流程」,适合日常提交代码:

📋 标准四步曲

# 1️⃣ 查看修改状态 git status # 2️⃣ 添加修改到暂存区(注意有个点!) git add . # 3️⃣ 提交到本地仓库 git commit -m "feat: 添加首页布局组件" # 4️⃣ 推送到远程仓库 git push

🔁 关于 -u 参数和分支管理

首次推送时需要设置上游分支:

# 首次推送,设置上游分支(以 main 分支为例) git push -u origin main # 之后就可以直接用 git push 了

查看和切换分支:

# 查看当前分支 git branch # 切换到其他分支 git checkout dev # 在新分支上重复 add → commit → push 流程 # 如果是新分支首次推送,同样需要 -u 参数 git push -u origin dev

⚠️ 注意:现在 GitHub 新建仓库默认主分支是 main 而不是 master,请根据实际情况调整。


问题三:每次 push 都要输密码,配置 SSH 即可

在公司或自己的电脑上,如果每次推送都要输入 GitHub 账号密码,真的很影响效率。配置 SSH 密钥后可以彻底解决这个问题 🔐

🛠️ SSH 配置七步走

# 1️⃣ 生成 SSH 密钥(邮箱换成你的 GitHub 邮箱) ssh-keygen -t ed25519 -C "your-email@example.com" # 一路按 Enter 使用默认设置即可 # 2️⃣ 启动 SSH 代理 eval "$(ssh-agent -s)" # 3️⃣ 添加密钥到代理 ssh-add ~/.ssh/id_ed25519 # 4️⃣ 复制公钥内容 cat ~/.ssh/id_ed25519.pub # 复制输出的内容(以 ssh-ed25519 开头) # 5️⃣ 去 GitHub 添加 SSH Key # Settings → SSH and GPG keys → New SSH key → 粘贴公钥 # 6️⃣ 修改远程仓库为 SSH 方式(重要!) git remote set-url origin git@github.com:你的用户名/你的仓库名.git # 7️⃣ 验证配置 git remote -v # 应该显示 git@github.com 开头的地址,而不是 https://

配置完成后,再执行 git push 就不会再提示输入密码啦 ✨


🎯 小结

问题解决方案关键命令
未关联远程仓库添加 origingit remote add origin ...
推送流程混乱记住四步曲status → add → commit → push
频繁输密码配置 SSH 密钥ssh-keygen + GitHub 设置

第一次部署个人网站,虽然踩了不少坑,但每解决一个问题都很有成就感。另外AI真好用啊!!!


📝 后记:博客代码块渲染踩坑记录

在部署完成后,我发现博客文章中的代码块渲染遇到了一些问题,这里也记录一下解决过程,希望能帮助到其他使用 Next.js + Markdown 的开发者。

问题 1:代码块格式错误导致 Markdown 解析失败

现象:文章中 # 标题符号直接显示在页面上,没有被正确渲染。

原因:在 Typora 等编辑器中写 Markdown 时,代码块的结束标记误用了四个反引号 ``` 而不是标准的三个反引号 ```。这导致 Markdown 解析器认为代码块没有结束,把后面的所有内容(包括标题)都当作代码处理了。

解决:检查所有代码块,确保使用正确的三反引号标记:

```bash git status ```

问题 2:代码块缺少样式背景

现象:代码块中的文字显示正常,但没有任何背景色和边框,看起来像普通文本。

原因:Tailwind CSS 的 Preflight 机制会清除浏览器默认样式,包括 <pre> 标签的背景和内边距。

解决:在 globals.css 中添加代码块样式,或使用 @tailwindcss/typography 插件。

问题 3:语法高亮导致文字难以看清

现象:使用 react-syntax-highlighter 等库后,某些关键字(如 git push 中的 push)颜色和背景太接近,几乎看不见。

原因:预设的深色主题(如 vscDarkPlus)在某些语法元素上对比度不够,或者主题的深色背景和自定义背景冲突。

解决:最终放弃了复杂的语法高亮库,改用简单的纯色方案:

  • 深色模式#1e1e1e 背景 + #d4d4d4 文字
  • 浅色模式#f5f5f5 背景 + #24292e 文字

这样虽然没有彩色语法高亮,但所有文字都清晰可读,风格也更接近知乎等简洁的博客平台。

问题 4:代码块内部元素有白色背景

现象:代码块外层是深色背景,但里面的文字有白色/浅色背景,像记号笔涂抹一样难看。

原因:全局 CSS 给所有 <code> 标签设置了浅色背景(用于行内代码),导致代码块内的 <code> 也继承了白色背景。

解决:使用 CSS 选择器强制代码块内部的 <code> 背景透明:

/* 代码块内部样式透明化 */ .prose div[class*="my-4"] code { background-color: transparent !important; color: inherit !important; }

📌 附录:常用 Git 命令速查

git init # 初始化仓库 git clone url # 克隆远程仓库 git branch -M main # 重命名当前分支为 main git log --oneline # 查看简洁提交历史 git pull # 拉取远程更新 git stash # 临时暂存修改

Discussion

Questions, disagreements, and follow-up notes all belong here.

Comments (0)