如何将移动工作区直接同步到 GitHub(无后端)
Source: Dev.to
概览

如果你曾经在移动设备上进行过严肃的开发工作——无论是构建 Web 应用还是在 Termux 中运行 Python 脚本——你一定深知在路上进行版本控制的噩梦。
在手机上编写代码是最容易的部分。但尝试通过移动浏览器将数百个文件、嵌套文件夹和资源推送到 GitHub 仓库?这通常会导致崩溃、负载限制以及巨大的挫败感。
我厌倦了与移动浏览器的斗争,于是构建了一个零成本、无摩擦的解决方案。
于是出现了 DemonZ Deployer。
⚡ 概念:无服务器工作区同步
DemonZ Deployer 是一个混合部署引擎,完全绕过了标准浏览器的上传限制。
它不是逐个上传文件,而是将你的移动工作区压缩成一个 workspace.zip 文件。你通过安全的网页界面上传该二进制文件,随后触发 GitHub Action 自动解压、校验并将结构性更改直接提交到你的仓库后台。
- 无自定义后端。
- 无数据库。
- 无托管费用。
- 仅使用 GitHub REST API 和 GitHub Actions。
🏗️ 架构工作原理
界面(100% 客户端)
前端是托管在 GitHub Pages 上的静态网页应用,采用为触摸屏优化的玻璃拟态 UI。
身份验证
它会请求你的 GitHub 个人访问令牌(PAT)。该令牌仅存储在浏览器的 localStorage 中。应用直接向 api.github.com 发起 API 调用——意味着你的凭证永远不会触及第三方服务器。
负载
当你将 workspace.zip 拖入 UI 时,应用会将二进制文件编码为 Base64,并执行一次 PUT 请求到目标仓库。
引擎
在你的目标仓库内部,一个轻量级的 GitHub Actions 工作流(deployer-pipeline.yml)监听该特定 zip 文件的变更。当检测到负载后,运行器启动,解压负载,覆盖旧文件,删除归档,并干净地提交更改。
🚀 亲自尝试
使用它无需安装任何东西。界面作为免费 SaaS 工具集中托管。
步骤 1:准备你的仓库
将官方的 GitHub Actions 工作流文件 放入你想要同步的仓库的 .github/workflows/ 目录。
步骤 2:部署
前往 DemonZ Deployer Web App。
输入你的仓库名称,粘贴你的 PAT,然后上传 zip 文件。观看终端 UI 实时流式显示你的部署过程。
🤝 一起合作
我在 DemonZ Development 下构建此项目,旨在解决 Android 与受限设备上开发者的巨大痛点。
在此查看完整源码和文档:
如果你觉得这种架构有用,欢迎留下反馈、提交 Pull Request,或给仓库点个 ⭐!在下方评论区告诉我你的想法吧。