核心用法
deploy-public 是一款专为 GitHub 仓库设计的私有化到公开化同步工具,采用 Bash 脚本实现全自动化流程。用户只需执行单条命令 bash scripts/deploy-public.sh /path/to/private-repo org/public-repo,即可完成从代码复制、分支创建、PR 提交、自动合并到 Release 同步的完整发布链路。
显著优点
1. 智能敏感信息过滤:自动排除 ai/ 和 .git/ 目录,防止 AI 生成内容或版本历史泄露
2. 标准化发布流程:强制遵循"私有仓库合并 → 创建 Release → 同步至公开仓库"的三段式工作流,避免发布空 Release Notes
3. 零配置开箱即用:依赖仅要求系统预装 git、gh (GitHub CLI) 和 bash,无需额外认证配置
4. PR 自动化管理:自动创建 PR 并使用常规合并(非 Squash),保持提交历史完整性
潜在局限
- 硬编码路径限制:
ai/目录过滤为固定规则,不支持自定义排除模式 - 单平台绑定:深度依赖 GitHub CLI (
gh),不支持 GitLab、Gitea 等其他 Git 托管平台 - 无冲突处理机制:若公开仓库存在未同步的独立提交,可能产生合并冲突需手动介入
- Release 顺序强依赖:必须在私有仓库先执行
wip-release创建 Release,否则公开仓库 Release Notes 为空
适合人群
- 维护私有开发版本与公开发行版双轨仓库的开源项目负责人
- 需要定期将内部迭代成果同步至 GitHub 公开仓库的 DevOps 工程师
- 对 AI 生成内容(
ai/目录)有保密需求的 AI 原生开发团队
常规风险提示
- Token 权限要求:
ghCLI 需具备repo完全读写权限及workflow权限 - 网络中断风险:多步骤流程(clone → commit → push → PR → merge → release-sync)中任一步骤失败需手动清理临时目录
- 不可逆操作:自动合并 PR 后无法通过工具本身回滚,建议在关键仓库启用分支保护规则