Fast-Deploy

從瀏覽器把 zip 推上 GitHub — 手機就能更新你的靜態網站

目前版本:v1.7.1持續更新維護中
開發日期:2026/06/24
Fast-Deploy

關於這個專案

Fast-Deploy 解決的是「GitHub 上的程式碼不容易在手機上更新」這個痛點——一般要更新 GitHub 儲存庫得開電腦、用 Git 指令或桌面工具,手機上幾乎無法操作;人在外面、手邊只有手機時就很難改。Fast-Deploy 讓你用手機直接上傳壓縮檔(zip)就能更新儲存庫:選一個 zip → 在瀏覽器本機與儲存庫比對差異(新增/修改/刪除)→ 一鍵提交。沒有後端、沒有伺服器、零託管成本,Token 只存在你自己的瀏覽器。為手機優先設計(以 iPhone Safari 為主要測試環境),也適用桌面瀏覽器。

這個工具本身就是我用來維護這個作品集網站的部署流程——「手機壓成 zip、上傳、比對差異、一鍵發佈」的體驗,正是它要解決的問題。

核心功能

  • 選 zip 直接比對:在瀏覽器本機算出每個檔案的 git blob SHA,與儲存庫現況比對,標示 M 修改/A 新增/D 刪除。
  • 完整覆蓋模型:zip 即「儲存庫最終樣貌」,沒在 zip 裡又沒被保護的檔案會以紅色 D 列出,提交時一併移除。
  • 只傳有變的:內容相同的檔案沿用既有 SHA、不重新上傳,提交快又省流量。
  • 行級差異檢視:點任一檔案看內容,修改的檔案以新增/刪除底色逐行呈現。
  • 瀏覽 GitHub 與下載 zip:不必先選 zip 也能列出儲存庫目前所有檔案,並可把整個分支打包下載成 zip(含進度)。
  • 從我的專案選擇:用 Token 直接列出可存取的儲存庫,可搜尋、顯示公開/私有與最後更新時間,一點帶入並自動套用預設分支。
  • 不更新(忽略)管理:逐檔一鍵忽略、可保護既有檔(如 CNAME)維持原樣不被覆蓋或刪除。
  • 體驗:常用儲存庫記憶、提交訊息自動帶入(讀 version.json 填 release: vX.Y.Z)、自動更新、可加入主畫面的 PWA。

運作原理

完全在瀏覽器端透過 GitHub REST API 提交:讀 zip 後以 crypto.subtle 算出每檔的 git blob SHA-1,取儲存庫 tree 比對得出 M/A/D;對有變動的建立 blob、未變的沿用原 SHA,再建 tree(不帶 base_tree 達成完整覆蓋)→ 建 commit → 更新 ref。Token 採 fine-grained PAT(只需目標儲存庫的 Contents 讀寫),僅存於 localStorage、不外傳。

版本歷程

主要版本的演進里程碑。

← 返回作品集

專案資訊

  • 類型:純前端網頁工具(PWA)
  • 角色:個人專案・獨立開發
  • 設計取向:手機優先(iPhone Safari)
  • 網址:deploy.ladem.space

技術標籤

JavaScript GitHub REST API Git Blob SHA Web Crypto PWA 純前端

設計理念

沒有後端、零託管成本,Token 只存在使用者瀏覽器。把「更新 GitHub 程式碼」這件原本需要電腦與指令的事,變成手機上選 zip、看差異、一鍵提交的流程。

前往體驗 →