DevTrendsDeveloper trends
Accent color

zhuzhonghua /

blackgit

BlackGit —— 一个基于 Git remote-helper 协议的集中式后端,让 Git 原生化解决巨型仓库问题,无需 Git LFS 核心思路:不另起炉灶,而是站在 Git 的 remote-helper 协议之上,加一个自定义后端服务器。用户依然用 git pull、git checkout、git merge,底层由服务器控制"获取什么、何时、由谁"。 功能简介 原生大文件按需下载:采用 partial clone 策略…

DTData & operationsDTLifestyle & entertainmentDTAgent orchestrationDTVertical agentDTCLIDTTerminal

About

BlackGit —— 一个基于 Git remote-helper 协议的集中式后端,让 Git 原生化解决巨型仓库问题,无需 Git LFS 核心思路:不另起炉灶,而是站在 Git 的 remote-helper 协议之上,加一个自定义后端服务器。用户依然用 git pull、git checkout、git merge,底层由服务器控制"获取什么、何时、由谁"。 功能简介 原生大文件按需下载:采用 partial clone 策略(blob:none+tree:0),初始只拉取元数据,checkout 时按需获取对象。2 GB 资源只是一个 blob,用户完全无感。 零额外组件:纯 Python remote helper + 后端。 文件锁定(规划中):git blackw lock <path> 防止二进制或关键文件并发编辑,服务端强制。 细粒度权限(规划中):文件/目录级读写 ACL,由服务器管理。 单一事实来源:服务器控制对象可用性与访问权限,客户端只见授权内容。 分布式与集中式兼得:每个克隆都是真正的 Git 仓库,离线提交/分支/合并完全正常 架构 User / Git Client │ ▼ git-blackw(git-remote-blackw) ──(Unix Socket / Named Pipe)──▶ blackgit.py ──(TCP :1666)──▶ Java Server(JGit) │ JGit .git repo 三层设计:Git remote helper(Python)↔ IPC 桥(Python)↔ 后端服务器(Java 21 + JGit)。协议为长度前缀 + Protobuf。 状态 已实现 fetch 与按需对象获取;push 支持为当前优先事项,随后是文件锁定、权限、多线程服务器与 GUI。

Discovery history

  1. 阮一峰周刊·用户投稿

    Aug 7, 2026 – Sep 22, 2026 · 1 observations

  2. Show HN

    Sep 22, 2026 · 1 observations

Discuss this product