pgit

5天前发布 3 00

pgit是一个轻量级的 Git 静态网站生成器,能将你的本地仓库转换为可浏览的 HTML 网站,界面类似 GitHub 的“代码”标签页,支持语法高亮、提交历史、文件树导航,且完全离线、100% 私有。

所在地:
美国
收录时间:
2026-01-11
其他站点:

你是否希望:

  • 无网络环境下浏览代码历史?
  • 将私有项目以 GitHub 风格展示,无需上传到云端
  • 完全掌控代码展示的样式与内容,而非依赖平台限制?

pgit一个轻量级的 Git 静态网站生成器,能将你的本地仓库转换为可浏览的 HTML 网站,界面类似 GitHub 的“代码”标签页,支持语法高亮、提交历史、文件树导航,且完全离线、100% 私有

核心能力:像 GitHub,但属于你

  • ✅ 代码浏览:按目录结构查看文件,点击进入单个文件
  • ✅ 提交历史:查看每次提交的变更(diff),支持跳转到特定版本
  • ✅ 语法高亮:内置多种主题,代码可读性强
  • ✅ README 支持:自动提取仓库根目录的 README.md 并嵌入首页
  • ✅ 纯静态输出:仅生成 HTML/CSS/JS 文件,可托管于任何静态服务器(包括本地)

所有数据保留在你的设备上,不依赖 GitHub、GitLab 或任何第三方服务

快速上手:三行命令搞定

git clone git@github.com:picosh/pgit.git
cd pgit
make build

生成的二进制文件 ./pgit 可直接运行:

./pgit

执行后,会在当前目录生成 public/ 文件夹,内含完整的静态网站。
通过本地 Web 服务器即可访问(如 Python 快速启动):

cd public
python3 -m http.server 8000

然后打开 http://localhost:8000,即可看到你的“私有 GitHub”。

高级用法:多仓库、自定义与性能优化

托管多个仓库

默认 pgit 生成根路径链接,适合单项目。若需共存多个项目,可指定子路径:

pgit --out ./public/project-a --root-relative "/project-a/"
pgit --out ./public/project-b --root-relative "/project-b/"

配合 Apache/Nginx 虚拟主机,即可通过 http://localhost/project-a 和 /project-b 分别访问。

控制生成范围

大型仓库可能生成缓慢。可通过以下参数优化:

  • --max-commits 1000:仅处理最近 1000 次提交
  • --revs dev,main,v1.0:指定多个分支/标签/提交哈希生成对应视图

自定义外观

  • 使用 --theme 切换语法高亮主题
  • 修改 html/ 目录下的模板文件,深度定制布局(需重新编译)

为什么选择 pgit?

需求pgit 的优势
隐私保护代码永不离开本地,避免云平台数据泄露风险
离线可用无网络时仍可查阅完整项目历史
零成本无需 GitHub Pro、GitLab 订阅或自建服务器
完全控制自由决定展示内容、样式与访问方式
轻量简单无数据库、无后端,仅需静态文件服务

替代方案对比

工具特点适用场景
pgit静态生成,Go 编写,易用个人项目、文档化、离线分享
StagitC 编写,极简,Unix 风格嵌入式系统、极客用户
cgitCGI 动态渲染,功能丰富需要实时更新的私有 Git 服务
自建 GitLab功能完整,接近 GitHub团队协作,需 Issue/CI 等高级功能

对于只需代码浏览的场景,pgit 提供了最轻量、最私密的解决方案。

典型使用场景

  • 开发者文档归档:将重要项目的代码历史打包为可离线查阅的文档
  • 安全审计:在隔离网络中审查第三方代码库,无需联网
  • 教学演示:向学生展示 Git 历史与代码演进,无需依赖外部服务
  • 备份展示:将 Git 仓库作为静态网站备份,防止平台宕机导致不可访问

数据统计

相关导航

Little Language Lessons

Little Language Lessons

谷歌推出了三项基于其多模态大模型 Gemini 的 AI 实验项目,旨在通过更加个性化、情境化的方式帮助人们提升口语表达能力。些 AI 实验工具为语言学习者提供了全新的视角和方法。无论是通过“微型课程”快速掌握实用短语,还是通过“俚语交流”学习更自然的表达,亦或是利用“单词相机”在实际场景中学习新单词,这些工具都旨在帮助用户更高效地学习新语言。

暂无评论

none
暂无评论...