尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

hexo-deployer-git 配置速查手册:_config.yml 九大核心参数详解,10分钟搞定 Git 部署

hexo-deployer-git 配置速查手册:_config.yml 九大核心参数详解,10分钟搞定 Git 部署 hexo-deployer-git 配置速查手册_config.yml 九大核心参数详解10分钟搞定 Git 部署【免费下载链接】hexo-deployer-gitGit deployer plugin for Hexo.项目地址: https://gitcode.com/gh_mirrors/he/hexo-deployer-githexo-deployer-git 是 Hexo 静态博客的官方 Git 部署插件只需在_config.yml中简单配置运行一条命令就能把博客一键推送到 GitHub Pages 等仓库。本篇是hexo-deployer-git 配置指南带你 10 分钟吃透_config.yml九大核心参数告别部署报错轻松搞定 Hexo Git 部署全流程。快速上手3 步完成 hexo-deployer-git 安装如果你刚装好 Hexo 博客按下面 3 步走5 分钟就能第一次成功部署克隆或新建一个 Hexo 博客项目本地已建好可跳过在博客根目录执行安装命令把插件装进package.jsonnpm install hexo-deployer-git --save在_config.yml末尾加入最简部署配置下面详解然后执行hexo clean hexo g -d。 插件入口在 index.js 中通过hexo.extend.deployer.register(git, ...)注册所以deploy.type必须写git这就是第一个隐藏参数type的来源源码见index.js。九大核心参数总览一张表看懂 _config.yml 部署配置参数类型是否必填一句话说明repo字符串 / 对象✅ 必填仓库地址支持多仓库branch字符串可选部署到的分支token字符串可选HTTPS 推送认证令牌message字符串可选自定义提交信息name字符串可选Git 提交者用户名email字符串可选Git 提交者邮箱extend_dirs字符串 / 数组可选额外发布的目录ignore_hidden布尔 / 对象可选是否忽略隐藏文件ignore_pattern正则 / 对象可选按正则过滤部署文件下面逐个拆解解析逻辑集中在lib/parse_config.js执行逻辑在lib/deployer.js。参数一repo 仓库地址配置单仓库和多仓库写法都在这repo是唯一的必填项有三种写法写法 1单仓库纯地址deploy: type: git repo: gitgithub.com:yourname/yourname.github.io.git写法 2单仓库地址后加逗号指定分支deploy: type: git repo: gitgithub.com:yourname/yourblog.git,gh-pages写法 3多仓库同步部署一鱼多吃deploy: type: git repo: github: gitgithub.com:yourname/yourblog.git gitee: url: https://gitee.com/yourname/yourblog.git branch: pages重点提醒如果配置了 SSH 密钥repo一定要用 SSH 协议如gitgithub.com:开头避免 HTTPS 弹窗输密码未指定branch时插件会智能猜分支GitHub 仓库默认gh-pages*.github.io仓库默认masterCoding 仓库默认coding-pages其他平台默认master逻辑见lib/parse_config.js的testBranch函数也可以设置环境变量HEXO_DEPLOYER_REPO替代repo方便 CI 环境使用。参数二branch 部署分支怎么选才不容易错deploy: type: git repo: gitgithub.com:yourname/yourblog.git branch: gh-pagesbranch指定站点文件推送到哪个分支GitHub Pages 用户一般选gh-pages或master优先级规则写在repo地址后面的分支 顶层branch字段两处都写时以repo里的为准多仓库模式下每个仓库可以配不同分支互不干扰。参数三token 认证令牌推荐用环境变量更安全当你的仓库用HTTPS 地址推送时可以用token完成免密认证deploy: type: git repo: https://github.com/yourname/yourblog.git branch: gh-pages token: $GITHUB_TOKEN⚠️安全最佳实践token值以$开头时插件会从环境变量中读取真实令牌如$GITHUB_TOKEN推荐这种做法不要把明文 token 直接写进_config.yml并提交到仓库哪怕私有仓库也有泄露风险部署到 CI 平台时把令牌存进 CI 的环境变量即可这是官方 README 明确推荐的方式。参数四message 自定义提交信息还能用模板变量deploy: type: git repo: 你的仓库地址 message: Update: {{ now(yyyy-MM-dd HH:mm:ss) }}不配置时默认提交信息是Site updated: {{ now(yyyy-MM-dd HH:mm:ss) }}即每次自动带时间戳message支持Nunjucks 模板语法{{ now(格式) }}会在部署瞬间渲染成当前时间模板渲染逻辑见lib/deployer.js的commitMessage函数想按日期归类提交记录试试message: Deploy {{ now(yyyy-MM-dd) }}。参数五、六name 和 email让提交记录署名更清晰deploy: type: git repo: 你的仓库地址 name: YourName email: youremail.com这两个参数只影响部署仓库中的提交署名覆盖全局 Git 配置与你的 Git 账号登录信息无关在 CI 服务器、GitHub Actions 等没有配置 Git 用户信息的环境部署时这两项几乎是必加项否则可能提交失败。参数七extend_dirs 额外发布目录让仓库不止有博客deploy: type: git repo: 你的仓库地址 extend_dirs: - examples - demo默认只部署public/生成目录extend_dirs可以把博客根目录下的其他文件夹如示例代码、演示页一并发布支持字符串或数组两种写法进阶玩法配合ignore_pattern给不同目录设置不同过滤规则甚至可以把源码和生成物分别推到同一仓库的两个分支。参数八ignore_hidden 隐藏文件开关.nojekyll 别忘了deploy: type: git repo: 你的仓库地址 ignore_hidden: false默认值是true即隐藏文件不部署设为false后.nojekyll、.gitignore等隐藏文件也会被推送用 GitHub Pages 部署 Jekyll 风格静态站时通常需要在根目录放一个空的.nojekyll文件关闭 Jekyll 处理这时就要把ignore_hidden设为false记得先把它放进source/目录它也支持对象写法给不同目录单独设置开关ignore_hidden: public: false examples: true参数九ignore_pattern 正则过滤精确控制哪些文件不部署deploy: type: git repo: 你的仓库地址 ignore_pattern: ^drafts凡是匹配该正则的文件都会被忽略不会出现在部署结果中字符串写法作用于所有目录对象写法可以按目录精细控制ignore_pattern: examples: \.md$典型场景public/中混入了不想公开的大文件、草稿资源用一条正则就能精准过滤正则在lib/deployer.js中通过new RegExp()编译后交给fs.copyDir使用。避坑指南3 个部署常见问题一次讲清❓ 1. 自定义域名 CNAME 部署后丢失插件每次部署都会用本地内容整体覆盖远端。解决办法把CNAME文件内容只写你的域名放进博客的source/目录它就会随每次部署自动带到仓库根目录域名配置从此稳定。❓ 2. 为什么仓库里我手改的文件没了hexo-deployer-git采用的是force push强制推送策略远端会被本地部署内容完全覆盖。正确姿势所有修改都在本地 Hexo 源目录完成不要直接在仓库网页端改文件。❓ 3. 部署目录混乱了想重置删除博客根目录下的.deploy_git文件夹即可。该文件夹是插件维护的影子仓库保存着部署历史如果希望保留提交历史也可以手动执行git clone 你的仓库 .deploy_git仓库地址以你实际配置为准。总结10 分钟回顾 hexo-deployer-git 配置要点步骤操作关键点1️⃣ 安装npm install hexo-deployer-git --save一次安装长期有效2️⃣ 配置_config.yml中设置deploy段type: gitrepo必填3️⃣ 部署hexo clean hexo g -d看到推送成功即完成9 大参数中只有repo 必填其余按需开启安全上HTTPS 推送用$环境变量引用 token稳定上CNAME、.nojekyll放进source/配合ignore_hidden: false更完整的选项说明可参考项目内的 README 文档参数解析的边界行为在test/parse_config.js测试文件中都有覆盖想深入原理可以从lib/目录看起。掌握这份_config.yml 参数速查手册你的 Hexo 博客 Git 部署从此又快又稳 【免费下载链接】hexo-deployer-gitGit deployer plugin for Hexo.项目地址: https://gitcode.com/gh_mirrors/he/hexo-deployer-git创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表