WorkTreeDesk 是一个基于 Tauri、React 和 Vite 构建的桌面应用,聚焦 Git Worktree 管理与 Code Review 场景。
因为没有做签名的原因? Mac安装包可能会被误报, 需要在系统设置里允许安装, 具体操作可以参考这个链接: https://support.apple.com/zh-cn/HT202491
Mac如果还是继续报错, 请尝试执行这个命令:
sudo xattr -r -d com.apple.quarantine /Applications/WorktreeDesk.app来删除掉苹果添加的隔离标识, 注意: 只有在你信任该应用来源的情况下才应使用此命令,因为移除隔离标记会绕过 macOS 的安全检查。
- 统一管理本地 Git Worktree
- 为代码审查场景提供更轻量的桌面操作体验
- 基于 Tauri 构建,兼顾性能与原生分发能力
- Node.js
- Rust
- Tauri 2.x 构建环境
npm install
npm run tauri:dev构建发布版本:
npm run tauri:build仓库已添加基于 Git tag 的自动发布工作流,配置见 .github/workflows/release.yml。
当前发布工作流同时承担 Tauri updater 的更新源职责:
- Release 会上传普通安装产物
- Release 会额外上传
latest.json - 构建阶段会生成 updater 对应用的签名文件
应用启动后会自动检查更新;如果发现新版本,会对同一版本只提示一次。 另外在 macOS 原生应用菜单中提供了“检查更新”,可随时主动触发检查并直接下载、安装、重启。
触发方式:
git tag v0.1.0
git push origin v0.1.0工作流会在 GitHub Actions 中自动执行多平台打包,并把产物上传到对应的 GitHub Release。 当前发布矩阵会生成以下产物:
- macOS app bundle
- Windows NSIS 安装包
- Linux AppImage
为方便在 Release 页面区分平台,上传后的资产文件名会附带平台码:
mac-arm64: macOS Apple Siliconmac-x64: macOS Intelwin-x64: Windows x64linux-x64: Linux x64
命名格式统一为 WorktreeDesk_vX.Y.Z_<platform-code> 加原始产物扩展名;latest.json 仍保持固定名称,供自动更新使用。
如果要让自动更新真正可用,还需要在仓库 Secrets 中配置以下值:
TAURI_SIGNING_PRIVATE_KEY: Tauri updater 私钥内容TAURI_SIGNING_PRIVATE_KEY_PASSWORD: 生成私钥时设置的口令;如果没有设置口令,可留空 Secret 或删除工作流中的该 Secret 引用后再按需调整
注意:公钥已经写入应用配置,可以安全地随代码分发;私钥绝不能提交到仓库。
也可以直接使用仓库内置的发布脚本自动完成版本号递增、提交、打 tag 和推送:
npm run release默认执行补丁版本递增,也就是最小版本号 patch + 1。
如果需要升级中版本或大版本:
npm run release:minor
npm run release:major脚本会同步更新以下版本号:
package.jsonpackage-lock.jsonsrc-tauri/Cargo.tomlsrc-tauri/Cargo.locksrc-tauri/tauri.conf.json
随后自动执行:
git commit -m "chore(release): vX.Y.Z"git tag -a vX.Y.Z -m "Release vX.Y.Z"- 推送当前分支
- 推送对应 tag
脚本在执行前会检查:
- 当前目录必须是 Git 仓库
- 不能存在预先 staged 的更改
- 版本相关文件不能有未提交改动
如果发布时出现
Resource not accessible by integration,请到仓库的 Actions 设置中确认工作流令牌具备读写仓库内容的权限。
- 更多 Git 平台适配
- Code Review 流程整合
- 多仓库与多 Worktree 视图优化


