Skip to content
remph99Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ez2git

ez2git 是一款面向本地开发流程的现代桌面 Git 客户端,参考 GitKraken 的图谱化交互方式,目标是让版本管理像保存文件一样直观。

项目采用“本地持续备份,阶段完成后主动发布”的工作模式:本地备份不依赖网络,也不会自动上传;只有用户主动确认后,提交才会发布到 GitHub。应用使用内置的 git2-rs/libgit2 Git 引擎,终端用户无需预装系统 Git。

当前状态:MVP 开发中。基础能力与历史安全基线已经完成,本地 Git 核心与统一工作区仍在完善,暂不建议作为稳定生产工具使用。功能清单按最新开发分支统计,稳定主分支可能晚于本文所列进度。

项目目标

  • 降低 Git 使用门槛,让不熟悉命令行和暂存区的用户也能可靠保存项目版本。
  • 用一键本地备份、安全恢复和保护点机制,优先保护尚未发布的工作成果。
  • 通过提交关系图展示分支、标签、提交详情以及本地与远程的同步状态。
  • 明确分离本地版本管理和 GitHub 发布,避免未经确认的网络操作。
  • 在同一套仓库和历史上提供直观操作与常用专业 Git 能力。
  • 面向 Windows 和 Linux 提供可安装、可验证的桌面应用。

当前已完成功能

项目与本地备份

  • Tauri、React、TypeScript 与 Rust 桌面应用基础架构。
  • 使用 SQLite 保存最近项目、收藏状态和项目元数据。
  • 打开已有 Git 仓库,或将普通目录初始化为 Git 仓库。
  • 搜索、收藏、切换和移除项目记录,并可在系统文件管理器中打开目录。
  • 展示工作区变更和仓库状态。
  • 一键收集未忽略的变更并创建本地备份提交;无变更时不会产生空提交。
  • 备份过程保持本地化,不会隐式执行 Fetch 或 Push。

历史图谱与安全恢复

  • 读取全部引用的提交历史,并分页生成稳定的提交关系图。
  • 虚拟化渲染提交图谱,支持搜索、筛选、缩放和引用显示控制。
  • 查看提交标题、作者、时间、完整 SHA、父提交和文件变更。
  • 根据提交可达性展示本地、远程跟踪和同步状态。
  • 在恢复前生成预览,检查工作区状态、文件冲突和潜在阻断条件。
  • 自动创建保护点,并通过新的恢复提交还原目标版本,不重写已有历史。
  • 支持恢复事务校验、失败回滚、审计记录和异常后的写入隔离。

本地 Git 工作区

  • GitKraken 风格的统一工作区与以历史图谱为中心的导航。
  • 展示已暂存和未暂存文件,并支持暂存与取消暂存。
  • 查看文件差异,并对工作区变更执行受保护的丢弃操作。
  • 创建普通提交、修订最近提交以及反向提交历史变更。
  • 查看和管理本地分支。
  • 查看远程跟踪分支,并从远程跟踪引用创建或检出本地跟踪分支。

已规划但尚未完成

当前阶段剩余工作

  • 完成标签管理。
  • 持久化提交身份和其他非敏感应用设置。
  • 完成 Windows 与 Linux 的人工桌面验收。

GitHub 与远程同步

  • GitHub OAuth Device Flow 登录与系统凭据安全存储。
  • 创建 GitHub 仓库、设置公开性以及关联已有远程仓库。
  • HTTPS Clone、Fetch、安全 Pull 和安全 Push。
  • 远程分支创建、删除和 upstream 跟踪。
  • 传输进度、取消、重试以及分叉历史处理。

高级 Git 工作流

  • Fast-forward 与三方合并。
  • 冲突识别、解决和中止合并。
  • Stash、Cherry-pick 和受保护的交互式 Rebase。
  • 可恢复的长操作状态与 Pull 集成。

发布与质量加固

  • 仓库信任边界、过滤器检测和安全诊断。
  • 按仓库串行化写操作、结构化日志与崩溃恢复。
  • 无障碍、键盘操作、本地化和布局加固。
  • 大型仓库性能测试与针对性优化。
  • Windows 与 Linux 安装包、冒烟测试和完整发布验收。

项目进度

阶段 范围 状态
1 应用基础、项目管理、本地备份、历史图谱与安全恢复基线 已完成
2 本地 Git 核心与统一工作区体验 进行中
3 GitHub 登录、仓库管理与远程同步 未开始
4 合并、冲突、Stash、Cherry-pick 与 Rebase 未开始
5 安全可靠性、无障碍、性能、打包与发布验收 未开始

当前可概括为:5 个 MVP 阶段中 1 个已完成,第 2 个阶段正在开发。历史图谱与安全恢复已有自动化测试基线,但完整的 Windows/Linux 人工桌面验收仍待执行。

技术栈

  • 桌面框架:Tauri 2
  • 前端:React、TypeScript、Vite
  • 后端:Rust
  • Git 引擎:git2-rs/libgit2
  • 本地存储:SQLite
  • 测试:Vitest、Testing Library、Rust 单元测试与真实仓库集成测试

开发文档

说明

ez2git 仍处于 MVP 开发阶段。涉及恢复、丢弃、分支或远程写入的功能,请先在测试仓库中验证,并保留独立备份。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages