网站建设名头,简单描述什么是网络营销,线上网站开发相关书籍,net公司网站开发框架源代码Hexo 双分支部署指南#xff1a;从原理到 Netlify 实战
在 Hexo 博客部署中#xff0c;很多人会困惑于hexo d自动部署与 GitHub 手动提交的区别#xff0c;以及如何通过双分支结构优雅地部署到 Netlify。本文将清晰拆解两种部署方式的核心差异#xff0c;并手把手教你用双分…Hexo 双分支部署指南从原理到 Netlify 实战
在 Hexo 博客部署中很多人会困惑于hexo d自动部署与 GitHub 手动提交的区别以及如何通过双分支结构优雅地部署到 Netlify。本文将清晰拆解两种部署方式的核心差异并手把手教你用双分支策略实现 Netlify 部署兼顾源码安全与静态文件发布需求。
一、核心概念hexo d与 GitHub 手动提交的区别
简单说两者的本质是操作对象和目标分支的不同具体区别如下维度hexo d自动部署GitHub 手动提交git push操作对象仅处理public文件夹静态文件HTML/CSS/JS 等处理 Hexo 源码source文章、themes主题、_config.yml配置等依赖配置依赖_config.yml中的deploy字段指定仓库和分支依赖 Git 基础命令add/commit/push无需特殊配置分支用途通常部署到静态文件分支如gh-pages/netlify-pages通常提交到源码分支如main核心作用快速发布静态文件到展示平台备份源码、多设备同步开发是否需要****package.json不需要仅推送静态文件需要源码分支需依赖管理关键原理Hexo 的 “源码 - 静态文件” 分离
Hexo 是静态博客生成器工作流分为两步hexo g生成将source中的 Markdown 源码转换为public中的静态文件hexo d部署将public推送到指定分支。手动提交则是直接管理源码两者需通过不同分支隔离否则会导致文件覆盖这也是建议双分支的核心原因。
二、双分支部署策略源码与静态文件分离
双分支策略的核心是用两个分支分别管理源码和静态文件既保护源码安全又满足不同平台的部署需求。推荐分支命名main存放 Hexo 源码Markdown 文章、主题、配置等netlify-pages存放public静态文件供 Netlify 直接部署。三、部署到 Netlify 的两种方式按需求选择
方式 1静态文件分支部署直接用public内容
适合场景希望直接部署本地生成的public文件跳过 Netlify 云端构建无需package.json。
步骤 1创建静态文件分支
# 1. 新建并切换到空分支无历史记录更干净
git checkout --orphan netlify-pages# 2. 删除当前分支所有文件避免污染源码
git rm -rf .# 3. 本地生成最新public确保包含所有文章
hexo clean hexo generate# 4. 将public内容复制到当前分支根目录注意是内容不是文件夹
cp -r public/* .# 5. 提交静态文件
git add .
git commit -m 部署静态文件到netlify-pages
git push -u origin netlify-pages # 推送到远程静态分支步骤 2配置 Netlify无需构建登录 Netlify关联你的 GitHub 仓库进入站点设置 → Build deploy → Build settingsBranch to deploy选择netlify-pagesBuild command留空或填#表示不执行构建Publish directory填.点号表示直接发布分支根目录的静态文件。点击 “Deploy site”Netlify 会直接读取netlify-pages分支的静态文件并部署。
方式 2源码分支部署云端生成public
适合场景希望 Netlify 自动生成public需依赖package.json管理依赖适合多设备同步开发。
步骤 1准备源码分支
# 1. 切换到源码分支如main若不存在则创建
git checkout -b main# 2. 确保本地有完整源码关键文件
ls # 应包含source/、themes/、_config.yml、package.json、package-lock.json# 3. 若缺失package.json重新初始化正常Hexo项目默认包含
npm init -y # 生成基础package.json
npm install hexo --save # 安装Hexo核心依赖# 4. 提交源码
git add .
git commit -m 提交Hexo源码含package.json
git push -u origin main # 推送到远程源码分支步骤 2配置 Netlify云端构建
进入 Netlify 站点设置 → Build settingsBranch to deploy选择mainBuild command填npm install hexo generate安装依赖→生成 publicPublish directory填public指定静态文件目录。点击 “Deploy site”Netlify 会自动执行拉取main分支源码 → 安装依赖 → 生成public → 部署静态文件。四、关键说明与注意事项
1. 分支隔离是核心两个分支必须严格隔离main只存源码netlify-pages只存静态文件避免互相污染用.gitignore确保main分支忽略public避免源码分支包含静态文件# main分支的.gitignore
public/
node_modules/2. 静态文件分支部署注意事项本地生成public时必须完整执行hexo clean hexo generate后检查public中是否有index.html和文章对应的 HTML 文件更新文章时需重新生成public并同步到netlify-pages分支hexo clean hexo generate # 生成新public
git checkout netlify-pages
rm -rf * # 删除旧文件
cp -r public/* . # 复制新文件
git add . git commit -m 更新文章 git push3. 源码分支部署注意事项package.json必须包含必要依赖至少有hexo否则 Netlify 会提示 “hexo: command not found”主题和配置文件必须完整themes文件夹和_config.yml需提交到main分支否则云端生成的public会缺失样式构建命令可简化若package.json中定义了build脚本可直接用npm run build// package.json
scripts: {build: hexo clean hexo generate
}此时 Netlify 的 Build command 可改为npm install npm run build。
五、总结核心要点速览部署方式分支名称关键配置Netlify适用场景静态文件部署netlify-pagesBuild command留空Publish dir.本地生成 public追求部署速度和稳定性源码云端构建mainBuild commandnpm install hexo generatePublish dirpublic多设备开发需要自动生成静态文件通过双分支策略你可以根据需求灵活选择部署方式想直接用public就选静态文件分支想让云端自动处理就选源码分支。两种方式都能完美适配 Netlify既保证源码安全又能顺畅发布博客。