一个基于 **Electron + Vue3 + Vite + simple-git** 打造的桌面工具,专注于在多个分支之间同步代码。通过简洁的深色界面、实时日志与多种同步策略,帮助你在多分支、多仓

Git Sync Visualizer

一个基于 Electron + Vue3 + Vite + simple-git 打造的桌面工具,专注于在多个分支之间同步代码。通过简洁的深色界面、实时日志与多种同步策略,帮助你在多分支、多仓库场景下保持代码一致。

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
在这里插入图片描述

核心功能

  • 多分支同步:选择目标分支,一键串行执行同步。
  • 两种同步策略
    • 精准提交 (Cherry-pick):输入提交哈希后,依次在各目标分支执行 git cherry-pick 并推送;适合将单个补丁快速同步到多个分支,保持精确一致。
    • 同步储藏 (Stash):从当前仓库的 stash 列表中选取记录,自动执行 stash apply → add → commit → push,提交信息默认沿用储藏备注;适合把临时修改批量同步到多个分支。
  • 多仓库支持:顶部按钮可切换工作目录,自动刷新仓库、分支与储藏信息。
  • 实时日志与通知:右侧面板滚动展示同步步骤,可一键清空;顶部弹窗提示成功或失败。
  • 主题切换:内置“深空 / 极光”两套主题,可随时切换界面配色。

使用说明

环境要求

  • Node.js >=16 <20
  • Yarn 1(建议通过 corepack prepare yarn@1.22.19 --activate 切换到经典版 Yarn)
  • Git 命令行工具

安装 & 启动

yarn install
yarn dev

运行 yarn dev 后:

  • Vite 启动渲染进程开发服务器;
  • Electron 自动打开桌面窗口,可实时查看调试输出。

构建发行版

yarn build

Electron Builder 会产出跨平台的可分发文件,默认输出目录为 release/

界面概览

  • 顶部工具栏:主题切换、选择仓库、一键同步按钮。
  • 左侧信息卡:显示仓库路径、当前分支、clean 状态以及 ahead/behind 信息。
  • 中间同步策略:切换模式、输入 commit 哈希、选择储藏、挑选源分支与目标分支。
  • 右侧日志:实时输出每个目标分支的同步步骤及最终结果,支持清空。

项目结构

src/
├─ main/               # Electron 主进程
│  ├─ main.js          # 窗口生命周期、IPC 注册等
│  └─ gitService.js    # simple-git 封装与同步逻辑
├─ preload.cjs         # 预加载脚本,桥接 IPC 到渲染层
└─ renderer/           # Vue3 前端
   ├─ index.html
   ├─ main.js
   ├─ App.vue          # 主界面布局与状态管理
   └─ components/
      ├─ RepoInfo.vue      # 仓库信息面板
      ├─ BranchSelector.vue# 分支选择与筛选
      └─ LogView.vue       # 实时日志输出

开发提示

  • 同步操作全部在主进程 gitService 中串行执行,当前目标失败不会阻塞其他目标的继续。
  • 同步完成后会自动切回源分支(分支模式)或先前分支(其他模式),避免打断当前工作流。
  • 如果需要扩展更多策略或记录历史,可在 IPC 通道内追加新事件与状态。
  • 大体积 UI 库已移除,全部样式均可在 src/renderer/styles.css 中自定义。

未来可扩展方向

  • 分支关系图(GitGraph.js / vis-network)
  • 同步任务历史记录与回放
  • 多仓库标签页管理
  • 更细粒度的冲突提示与处理向导

欢迎根据自身需求继续拓展。祝使用愉快! 🎯


仓库地址:git@github.com:regtet/Git-Sync-Visualizer.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦瓜大大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值