发布时间:2026/8/24 17:41:54
1. ghp-import 是什么:一行描述“文档 → 网站“ 1. ghp-import 是什么一行描述文档 → 网站【免费下载链接】ghp-importEasily import docs to your gh-pages branch.项目地址: https://gitcode.com/gh_mirrors/gh/ghp-importghp-import是一个小巧的 Python 文档导入工具当前版本 2.1.0Apache 2.0 许可核心就是一个单文件模块 ghp_import.py。它做一件事把已构建好的文档目录整体写入仓库的gh-pages分支并推送到远端由 GitHub Pages 托管发布。相比手动切分支、复制文件再推送它的好处是无感知分支操作不用关心gh-pages分支当前状态调用一次即完成提交 推送命令行 库双模式既可以在 Makefile、CI 中作为ghp-import命令使用也可以作为 Python 库from ghp_import import ghp_import直接调用底层基于git fast-import整个目录只产生一个提交速度快、仓库不膨胀依赖极少唯一的运行时依赖是python-dateutil⚠️重要警告来自 README.md 的 Big Fat Warningghp-import 会销毁目标分支的现有内容然后整体替换。gh-pages分支应当 100% 由构建产物派生不要手工编辑其中的文件。使用prefix参数时只销毁该前缀目录下的内容。2. 一键安装两种方式任选# 方式一从 PyPI 安装推荐 pip install ghp-import # 方式二从源码安装 git clone https://gitcode.com/gh_mirrors/gh/ghp-import cd ghp-import pip install -e .项目 setup.py 中注册了控制台命令ghp-import ghp_import:main因此安装后既能用命令行也能用 Python API二者参数完全对应。3. 快速上手3 行 Python 完成文档发布前置条件只有一个Python 进程的当前工作目录必须位于你的仓库内ghp-import 会在当前仓库中操作 Git。from ghp_import import ghp_import ghp_import(docs, pushTrue)这一行代码等价于把docs/目录的全部文件写入gh-pages分支提交信息默认Update documentation并推送到origin/gh-pages。4. ghp_import 库 API 参数全表函数签名为ghp_import(srcdir, **kwargs)srcdir必填其余 11 个参数均可选且与命令行选项一一对应源码定义见 ghp_import.py 与 options()参数对应 CLI 选项默认值作用srcdirDIRECTORY必填已构建文档的路径必须是目录否则抛出GhpErrorbranch-bgh-pages写入的目标分支名remote-rorigin推送到的远端名称mesg-mUpdate documentation目标分支上的提交信息push-pFalse提交后是否推送到{remote}/{branch}prefix-xNone给每个文件加目录前缀仅清空该前缀下内容force-fFalse强制推送到远端no_history-oFalse丢弃父提交历史保持分支只有一个提交use_shell-sFalse通过 shell 调用 GitWindows 个别环境需要followlinks-lFalse添加文件时是否跟随符号链接cname-cNone在分支中写入指定域名的CNAME文件nojekyll-nFalse在分支中写入.nojekyll文件高频必会srcdir、push、branch、mesgghp_import( build/html, # Sphinx 构建产物目录 branchgh-pages, pushTrue, mesgUpdate docs [skip ci], # [skip ci] 可避免推送触发 CI )srcdir指向的是构建输出目录如 Sphinx 的build/html不是文档源码用户页 / 组织页从master分支托管此时需显式传branchmastermesg建议带上[skip ci]防止推送文档分支 → 触发 CI → 再次构建推送的循环进阶参数no_history、prefix、cname、nojekyllno_historyTrue官方强烈推荐每次导入都丢弃父历史gh-pages分支始终只有 1 个提交避免仓库体积随每次文档更新持续膨胀。设置后推送时自动附加--force见 ghp_import.py 的推送逻辑。prefixdocs把文档发布到分支的docs/子目录下适合一个仓库有多个子项目文档共用的场景且只有该前缀目录会被清空降低误删风险。cnamedocs.example.com自动写入CNAME文件配合自定义域名使用。⛔nojekyllTrue写入空文件.nojekyll禁止 GitHub Pages 用 Jekyll 处理你的静态文件含下划线的文件名、_config.yml等场景必备。use_shellTrue部分 Windows 环境需要经 shell 调用 Git 命令时开启。5. 异常处理捕获 GhpError所有可预期的错误都会抛出 GhpError常见触发点错误信息触发原因Not a directory: xxxsrcdir不是目录ghp_import.pyfatal: not a git repository等当前目录不在 Git 仓库内check_repo()Failed to rebase gh-pages branch.无法基于远端gh-pages分支建立提交ghp_import.pyfrom ghp_import import ghp_import, GhpError try: ghp_import(docs, pushTrue, no_historyTrue) except GhpError as e: print(文档导入失败, e.message)6. 文档构建脚本集成指南Makefile CIghp-import 的官方文档站本身就是用它发布的Makefile 里就是标准集成范例docs: python ./docs/build.py ghp-import $(DOCS_OPTS) docs/ -b $(DOCS_BRANCH) -r $(DOCS_REMOTE) -m Update docs [skip ci] -o模式拆解构建脚本先产出静态页面 → 再调用 ghp-import 导入发布两个步骤串成一条命令。在 CI 中集成的通用写法python -m sphinx docs/ build/html ghp-import -p -o -m Update docs [skip ci] build/html在 Python 构建脚本末尾调用库 API 的等价写法ghp_import(build/html, pushTrue, no_historyTrue, mesgUpdate docs [skip ci])三种方式可按场景混用本地开发用 Makefile流水线用命令行构建工具链内部直接用 Python API。7. 最佳实践与常见陷阱清单✅先备份首次使用ghp-import前对已有gh-pages分支做备份它会被整体覆盖✅始终带no_historyTrue/-o官方highly recommended防止仓库膨胀✅提交信息加[skip ci]避免文档推送触发 CI 循环✅gh-pages分支只放构建产物绝不手工编辑该分支多子项目共用仓库用prefix隔离各自的文档目录Windows 偶发 Git 调用问题尝试use_shellTrue/-s文档目录含符号链接开启followlinksTrue/-l8. 项目文件导航文件说明ghp_import.py核心实现ghp_import()主函数、GhpError异常、Git 封装setup.py打包元数据注册ghp-import命令行入口Makefile文档构建 发布脚本范例make docs一键更新文档站README.md完整用法说明与 Python 库调用示例docs/index.html.tmpl本项目自己的文档站 HTML 模板掌握以上参数与集成模式后你就把构建文档和发布文档打通了无论本地一键发布还是 CI 自动上线一行调用即可完成。【免费下载链接】ghp-importEasily import docs to your gh-pages branch.项目地址: https://gitcode.com/gh_mirrors/gh/ghp-import创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/24 17:41:54

AR模型核心原理与三大参数估计算法详解:从Yule-Walker到Burg算法

1. 项目概述:从“黑箱”到“白箱”的信号理解之旅在信号处理、金融分析乃至语音识别这些看似不相关的领域里,我们常常面对一个共同的挑战:手里只有一串随时间变化的、看似杂乱无章的数据序列,我们称之为“随机信号”。比如一段录音…

2026/8/24 19:58:11

避免系统入户门选择踩坑,这些关键要点你不能错过!

系统入户门作为家庭安全与美观的重要屏障,其选择至关重要。若选择不当,不仅影响居住体验,还可能埋下安全隐患。以下为你揭示一些关键要点,确保你的选择无虞。材质考量是前提系统入户门的材质多样,常见的有金属、木质和…

2026/8/24 19:58:11

SAGE方法解析:基于智能体引导探索的自动化提示词优化框架

1. 项目概述:当大模型提示词优化遇上“智能探索” 如果你玩过大语言模型,无论是ChatGPT、Claude还是国内的DeepSeek,肯定都遇到过这样的困境:精心设计的提示词(Prompt),换一个模型或者稍微改一下…

2026/8/24 19:58:11

基于SpringBoot的社区团购管理系统的设计与实现源码+文档

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/24 0:07:22

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 1:12:32

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 1:09:25

3条命令跑通LocalAI:无GPU本地AI引擎部署

3条命令跑通LocalAI:无GPU本地AI引擎部署 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_Trending/lo/LocalAI…

2026/8/24 1:09:25

AI推理性能测试怎么做:MLPerf Inference完整上手指南

AI推理性能测试怎么做:MLPerf Inference完整上手指南 【免费下载链接】inference Reference implementations of MLPerf inference benchmarks 项目地址: https://gitcode.com/gh_mirrors/inf/inference 同一个模型换一张卡,速度快多少你知道吗&a…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/23 4:22:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…