看清每一次变更,
再放心按下提交。

你可能也遇到过:改了几个项目,终端开了八个,最后不记得自己到底推了哪一个。 GitVista 是一个面向 Windows 和 macOS 的 Git 桌面工作台,专门解决这类「小事很多、切来切去」的日常。

Windows x64 · macOS Apple Silicon / Intel · 无需注册账号 · 中英文界面

多仓库 统一工作区 先预览 再推送 12 套主题 4 档界面字号 100% 本地运行
GitVista 工作台:左侧本地变更、右侧并排差异、下方提交历史
工作台:本地变更 · 并排差异 · 提交历史,都在同一屏。截图使用演示数据。
为什么用它

不是「又一个 Git 客户端」,是把那些反复切窗口的琐事收进一个窗口

下面六件事,是 GitVista 与大多数客户端真正拉开差距的地方。每一条都能在安装包里直接验证。

打开一个父文件夹,就是一整个工作区

自动发现子仓库,统一看状态和历史,可批量拉取、预览后推送。谁成功、谁卡住,每个仓库各自给出结果,不靠回忆。

Workspace

这次到底提交什么,先看清楚

工作区与暂存区分开展示,文件可勾选、差异可逐个查看。预览之后内容变了,会请你重新确认 —— 避免「看的是 A,交上去的是 B」。

Push Preview

查历史不必在几个窗口里来回跳

提交图、文件树、改动内容、完整历史源码联动显示。想查某个文件怎么变成今天这样,直接沿着历史往回看。

Interactive Graph

主窗口大,桌面入口小

迷你横条支持拉取、查看最近提交、快捷提交和推送预览;贴到屏幕边缘还能磁吸收起。它负责待命,不负责占据你的整张桌面。

Mini Bar

不用先给 Git 配一套入场仪式

Windows 包自带 MinGit 2.47.1,打开本地仓库就能用,不依赖系统 PATH。需要特殊配置时,也能在设置里指定本机完整 Git。

Bundled Git

资源占用有边界,也有账可查

历史按页读取,日志与图只绘制可见部分;大文件按页解析;过期查询取消,托盘暂停自动刷新。设置里能看内存、缓存并清理可重建内容。

Budgeted

眼睛和使用习惯都值得照顾

5 套浅色 + 7 套深色主题;中英文切换;四档界面字号、独立代码字号;自动换行;统一 / 并排差异视图。面板宽度、历史列宽都能自己拖。

12 Themes · i18n · Resizable
用到哪里

四个具体场景,看看它替你省下的是哪一步

不讲抽象功能清单,只讲一天里真实会发生的那几次操作。

01

同时在维护好几个仓库的后端 / 全栈开发者

打开装着所有项目的父目录,GitVista 自动发现每一个子仓库,在一个列表里给出当前分支、领先/落后提交数和未提交改动。早上一次性批量拉取,下班前预览再统一推送。

以前:为每个仓库开一个终端,或者在一个客户端里开一堆标签页,逐个数谁还没推。

02

提交前想再确认一眼改了什么的人

工作区与暂存区分列,勾选文件只是「选择」而不是「暂存」。点开任一文件看并排差异,决定这一小段改动到底进不进去。推送前还有一层预览:待推送提交、文件、目标远端都列出来。

以前:git add . 之后才发现把一个临时调试文件也带上了,或者推完才发现推错了分支。

03

只想快速记一笔、不想开大窗口的时候

把迷你横条贴在屏幕边缘,它平时是一条细条,悬停展开。写代码时随手唤起,写一句说明,创建本地提交;需要推的时候再走推送预览。收起后它不占用你的桌面。

以前:为了一句「修个 typo」的提交,切到客户端、等它加载、提交、再切回来。

04

刚上手 Git 的同事,和不愿意配环境的 Windows 用户

安装包内置 MinGit,装完打开仓库就能用,不用先装 Git for Windows、不用配 PATH、不用折腾终端编码。每个动作旁边都写了通俗解释:获取是「先看看远端有什么」,拉取是「把远端变化整合进来」。

以前:装了客户端却提示「找不到 git 可执行文件」,卡在第一步。

多仓库工作区总览
多仓库工作区:每个仓库独立报告状态与结果
推送预览面板
推送预览:执行前重新核对提交、文件与目标
功能详解

把每一次「不确定」都变成看得见的一屏

下面每一块都对应界面上真实存在的一处操作,配截图说明。

看修改,再提交

左边选文件,右边看差异。Diff / Full Code 在差异与完整源码之间切换,Unified / Split 切换统一与并排视图。勾选文件只是选择,并不等于已经暂存 —— 批量暂存、取消暂存、提交或修订上一次提交都由你确认。

  • 工作区 / 暂存区分开,不会把没打算提交的东西顺手带上
  • 并排差异 + 完整源码,改动上下文一眼看完
  • 推送预览会重新核对 HEAD、分支、远端及索引,内容变了先刷新
  • 未暂存的后续改动不会悄悄混进已审阅的暂存提交
并排差异视图 并排差异视图(浅色主题)
并排差异,内容再长也能逐行核对

查历史,不把整个仓库塞进内存

历史支持文本、哈希、正则、分支、作者、日期和路径筛选 —— 筛选作用在 Git 历史本身,不局限于当前已加载的那一页。提交图、文件树、改动内容与完整历史源码联动,点节点或连线即可定位相关提交。

  • 提交历史每页最多 250 条,文件历史每页 100 条,支持前后翻页
  • 提交图与列表只绘制可见区域,长历史不会堆出成吨 DOM
  • 大文件与大 Diff 按 400 行 / 约 128 KiB 分页,保留完整内容翻页入口
交互式提交图 交互式提交图(浅色主题)
交互式提交图:点击节点或连线定位提交

获取、拉取、推送,三个动作各有分工

界面上不假设你已经背熟了 Git 术语,每个动作旁边都写了它在干什么。工具箱覆盖分支、标签、Stash、合并、普通变基、拣选、反向提交、重置、工作树、补丁和子模块 —— 破坏性动作有确认,强制推送固定使用 --force-with-lease。

  • 获取先看远端有什么 · 拉取默认仅快进,分叉时停下来
  • 冲突处理可选 ours / theirs,也可手动编辑后标记解决再继续
  • 写操作串行执行,同仓库不会两个 Git 写命令撞在一起
IDE 风格布局 IDE 风格布局(浅色主题)
IDE 风格布局:文件树 · 差异 · 历史联动

迷你横条:需要时展开,忙起来收好

第一次使用时才创建,所以平时不会多占一份进程。悬停展开,靠近屏幕边缘磁吸收起。它支持拉取、查看最近提交、快捷提交和推送预览 —— 写一句说明就能留下一个可追溯的本地提交。

  • 快捷提交会显示文件与来源,不是盲提交
  • 关闭窗口默认询问退出或隐藏到托盘,可记住选择
  • 只留托盘时暂停自动刷新,恢复窗口时重新读取
迷你横条
迷你横条:贴边待命,悬停展开

主题、字号、语言,按你的眼睛来

5 套浅色主题(light / sand / sky / mint / lavender)与 7 套深色主题(dark / midnight / nord / forest / rose / darcula / deep)。中英文界面切换,四档界面字号加独立代码字号,代码区可自动换行。面板宽度、历史列宽都能拖。

  • 12 套主题,深浅色分别适配语法配色
  • 中 / English 一键切换,术语附通俗说明
  • 面板与列宽可拖,多窄的屏都能安排下
外观设置与主题选择
外观设置:主题、字号、差异视图
浅色主题工作台
浅色主题
历史列配置
历史列可配置
Git 设置
可指定系统 Git
可调整布局
布局可自由拖动
功能对比

和常见 Git 客户端放在一起看

下表按各产品公开资料与其官方文档整理,只对比公开、可验证的能力。勾选与部分支持的区别写在注解里。

GitVista 与常见 Git 客户端功能对比
能力 GitVista 本页 GitHub Desktop Sourcetree GitKraken Fork TortoiseGit
价格 / 授权 免费 · MIT 开源 免费 免费 免费版 + 付费档 付费,有试用 免费开源
内置 Git,免装免配 Windows 内置 MinGit;macOS 使用本机 Git 内置 Git,但隐藏且不易排查 自带但常需手动指向外部 Git 倾向使用系统 Git 使用系统 Git / 凭据管理器 需自行安装 Git for Windows
多仓库统一工作区 打开父目录自动发现,按仓库报告结果 一个仓库一个窗口 多标签页 / 多窗口,无聚合视图 Workspaces 多仓库聚合 无同等聚合界面 资源管理器内单仓库操作
推送前逐项预览 列出待推送提交与暂存内容,内容变化要求重新确认 直接 Push origin 推送对话框,非内容级预览 推送对话框,非内容级预览 推送对话框,非内容级预览 推送对话框,非内容级预览
桌面迷你快捷入口 迷你横条:快捷提交、拉取、推送预览,可磁吸收起 无 无 无 无 无
界面语言 / 主题 中 / English;12 套主题;4 档界面字号 跟随系统深浅色,主题数少 有深浅色,自定义有限 多套主题,部分需付费 有深浅色主题 跟随系统主题
大仓库分页与内存预算 分页 + 可见区渲染 + 取消过期读取,附公开实测报告 未公开预算口径 大仓库易卡顿的历史口碑 未公开预算口径 未公开预算口径 未公开预算口径
免注册、免登录 无需账号,打开即用 需登录 GitHub 账号 部分功能需 Atlassian 账号 需登录账号 无需账号 无需账号
代码审查 / PR / Issue 集成 专注本地 Git 操作,不做托管平台集成 GitHub PR 全流程 Bitbucket / Jira 深度集成 多平台集成是其主打 有托管平台快捷跳转 无
Linux / macOS 支持 macOS 支持 Apple Silicon / Intel;暂无 Linux Win / macOS Win / macOS(已下架 Linux) Win / macOS / Linux Win / macOS Windows 资源管理器集成
公开资源占用实测报告 含测试机配置、场景、采样方法与局限性说明 无 无 无 无 无
支持 部分支持 / 有前提 不支持
关于这张表的诚实说明。GitVista 一列来自本项目的源码、README 与 docs/resource-report-0.9.8.md,可以逐条核对。 其余各列依据各产品公开官网、文档与常见第三方对比整理,反映整理时的普遍认知,产品迭代很快,请以各自官网为准。 表中也如实列出了 GitVista 目前明确不擅长的地方(无托管平台 PR/Issue 集成、暂不提供 Linux 发行包), 因为它是一个专注本地 Git 操作的桌面工具,而不是要替代所有人的全能平台客户端。
使用报告

体积与内存:把实际数字摆出来,而不是给「轻量」两个字装上美颜

测量日期 2026-09-27,Windows x64,对比本机已安装的 0.9.7 与本次生产构建的 0.9.8。完整报告见仓库 docs/resource-report-0.9.8.md。

121.09 MiB
Windows 安装器
GitVista-0.9.8-Setup-x64.exe
478.93 MiB
解压后可运行程序
比 0.9.7 的 510.74 MiB 减少 31.81 MiB
0.92 MiB
应用代码归档 app.asar
从 32.79 MiB 降下来
276.3 MiB
前台主窗口私有内存均值
比 0.9.7 降低 40.3 MiB(12.7%)

真实前台主窗口:私有内存对比

相同 1560 × 1000 内容区、DPR 1;每次采样前后确认页面可见,Windows 实际前台窗口属于该测试进程;各取 5 次样本。

0.9.7 私有内存 316.7 MiB
0.9.8 私有内存 276.3 MiB
0.9.7 工作集 497.4 MiB
0.9.8 工作集 402.5 MiB

应用进程数由 5 降至 4。最小–最大区间:0.9.8 私有内存 276.34–276.36 MiB。

各使用场景私有内存(MiB)

每场景 5 次采样均值。此轮 Windows 将主窗口判为隐藏/被遮挡,因此主窗口数据只作为后台数据,不作为前台低内存宣传。

场景0.9.70.9.8变化
主窗口后台启动216.0164.9−51.1
后台切换历史后217.9161.5−56.4
进入迷你模式219.0210.4−8.6
托盘隐藏 70 秒212.3205.3−7.0
恢复主窗口后再次后台287.5209.5−78.0

体积账目:三本不同的账

源码大小、开发目录大小、安装大小是三本不同的账。node_modules、历史安装包和测试浏览器目录不能全部算成「软件运行必需体积」。

源码与文档
约 4.85 MiB
安装器
121.09 MiB
便携包
120.90 MiB
解压后可运行程序
478.93 MiB
应用代码 app.asar
0.92 MiB
内置 MinGit
110.55 MiB(解压程序的一部分,不能重复相加)

GitVista 基于 Electron,带有浏览器运行时。它免部署、少配置,但不是几 MB 的原生小工具 —— 与其让用户猜,不如直接说明。

已加上的资源边界

  • 全局最多 6 个 Git 子进程、每仓库 2 个读取、最多 8 个执行中的完整读取查询
  • 读取缓冲总预算 32 MiB;HTTP 缓存预算 32 MiB
  • 可重建缓存合计超过 128 MiB 时安排下次启动维护,设置页可手动清理
  • 单仓库工作台隐藏 60 秒后释放历史、差异、源码等只读数据,保留草稿与筛选位置
  • 清理只处理应用可确认归属的文件,仓库、提交草稿和设置不会被删

实际跑过的验证

  • 后端 16 项:连续 100 次预览,真实对象数量与索引字节保持不变
  • 缓存维护 7 项:超预算回收、配置与持久化存储保留、拒绝目录联接
  • 安装与清理 38 项隔离验证,覆盖下载失败保留上一份产物、卸载越界保护
  • 界面与数据规模:100 个仓库、10,100 条提交翻页;100,001 行源码还原;迷你窗口 100,005 行补丁最多绘制 400 行
  • 窗口隐藏:60.314 秒触发释放,70 秒时 DOM 从 1,734 降至 384

这份报告没有声称什么

  • 这是单机短时场景对照,旧版先运行、新版后运行;系统文件缓存、GC、GPU 驱动与采样时机都会影响数字
  • 不能据此证明 8 小时或多天运行「零泄漏」,也不宣称经过全天耐久测试
  • 顺序读写路径并未实测验证,报告只列出已测范围
  • 32 MiB 是读取缓冲预算,不是整个应用的内存上限;128 MiB 是维护阈值,不是每时每刻的硬上限

测试机:AMD Ryzen 7 5800H,16 个逻辑处理器,操作系统可见内存 13.86 GiB,Windows 内核 10.0.26200,两版均为 Electron 44.4.5。

使用说明

从安装到第一次提交,大约三分钟

下面按真实操作顺序排列:装好、打开仓库、看改动、提交、推送。

1

安装

macOS:在「关于本机」查看芯片,下载对应的 Apple Silicon / Intel DMG,将 GitVista 拖入「应用程序」。Mac 版使用本机 Git;运行 git --version 检查,未安装时执行 xcode-select --install 并完成系统安装,或使用 Homebrew 安装 Git。

下载 GitVista-0.9.8-Setup-x64.exe 安装器,可以自选安装目录,默认建议 D:\LenovoSoftstore\GitVista,并创建桌面 GitVista 快捷方式。启动不需要管理员权限之外的额外配置。

也提供 GitVista-0.9.8-Windows-x64.exe 便携包。便携包启动时需要解压,日常频繁使用更推荐安装版 —— 便携不是「零磁盘占用」的魔法,它只是少了一步安装。

2

打开仓库,或者一整个工作区

打开有 .git 的目录,进入单仓库工作台;打开装着多个项目的父目录,进入多仓库工作区。也可以指定父目录克隆远端仓库,完成后自动打开。最近打开的位置保存在本机,最多 30 条。

多仓库批量操作按仓库报告成功、失败和跳过。它们不是一个跨仓库事务:某个仓库失败,不会撤回其他仓库已经完成的提交或推送。

3

看修改,再提交

左边选文件,右边看差异。勾选文件只是选择,并不等于已经暂存。可以批量暂存、取消暂存、提交或修订上一次提交。

迷你横条的 Quick commit / 快捷提交 会显示文件与来源,填写说明后创建本地提交。本地提交成功,不等于已经推送到远端。

4

获取、拉取、提交、推送,四个动作的分工

动作通俗解释
Fetch / 获取先看看远端有什么新东西,更新远端引用
Pull / 拉取把远端变化整合到当前分支;默认仅快进,分叉时停下来
Commit / 提交给本地修改留一个可追溯的版本
Push / 推送把本地提交送到配置好的远端

推送前先走推送预览:列出待推送提交和暂存内容,执行前重新核对 HEAD、分支、远端及索引。工具箱还提供分支、标签、Stash、合并、普通变基、拣选、反向提交、重置、工作树、补丁和子模块操作。破坏性动作有确认,强制推送使用 --force-with-lease。

冲突可以选 ours / theirs,也可以手动编辑后标记解决,再继续当前 Git 操作。

5

需要时展开,忙起来收好

标题栏 — 最小化到任务栏;标题栏 × 默认询问退出或隐藏到右下角托盘,可以记住选择,之后在 设置 → 常规 里随时改。

Mini bar / 迷你横条第一次使用时才创建,悬停展开,靠近屏幕边缘可磁吸收起。只留托盘时会暂停自动历史刷新;恢复窗口时重新读取。Git 写操作或设置保存未结束时,会阻止直接退出,避免手快关掉正在干活的程序。

6

从源码自己构建(可选)

Windows 或 macOS,Node.js 22.12+。Mac 在安装依赖后运行 npm run package:mac,产物位于 release/macos-版本-构建标识/;以下本地安装和清理命令仅用于 Windows。

# 获取源码并安装依赖
git clone https://github.com/sssjack/gitvista.git
cd gitvista
npm ci

# 开发模式(仅监听 127.0.0.1:5179)
npm run dev

# 生成 Windows x64 安装器与便携包,产物在 release/
npm run package

# 只要本机可运行的解压目录
npm run package:dir

打包会获取并验证 MinGit 2.47.1。已有可用版本会复用;下载或构建失败不会替换上一份成功产物。发布包只带应用构建结果与运行所需文件,不夹带开发用的整套 node_modules。

操作上的几个要点

  • 筛选作用于全部历史,不只是当前这一页
  • 拖动分隔线调整面板和列宽,多窄的屏都能安排下
  • 图上断开的父节点表示它位于当前结果之外,不代表提交丢了
  • 设置 → 常规 → 存储与性能可查看当前进程内存与缓存并手动清理

能力边界

  • 不是 IDE,也不是完整的代码编辑器;完整历史源码主要用于阅读
  • 单文件文本读取有 4 MiB 限制;大差异会截断并提示,分页并不取消安全上限
  • 内置 MinGit 不含 Git Bash、Perl 扩展等完整环境;特殊钩子可在设置中指定系统 Git
  • 不把二进制或无效 UTF-8 文件当普通文本保存;缺失 Git 对象会报错,不自动重置你的仓库
克隆仓库
克隆仓库:指定父目录,完成后自动打开
文件树与历史
文件树与历史联动
下载

装上,打开一个仓库,就知道值不值

版本 0.9.8 · Windows x64 / macOS 13+ · 无需注册账号。

GitVista 0.9.8 for Windows / macOS

Windows 推荐安装版;Mac 请按芯片选择 DMG,打开后将 GitVista 拖入「应用程序」。

首次运行 Windows 可能提示来自未知发布者 —— 这是未做代码签名的直接后果,不是打包缺陷。选择「更多信息 → 仍要运行」即可。

Mac 包使用 ad-hoc 签名,尚未经过 Apple Developer ID 签名及公证。首次打开若被拦截,确认下载来源后在「系统设置 → 隐私与安全性」选择「仍要打开」;参见 Apple 说明。ZIP 包与校验信息见 Release。

系统要求

  • Windows 10 / 11,x64
  • 磁盘:安装后约 479 MiB(含内置 MinGit)
  • 内存:前台主窗口实测私有内存均值约 276 MiB
  • Windows 内置 Git;Mac 需安装命令行工具或 Homebrew Git
  • macOS 13+,Apple Silicon(M 系列)或 Intel
  • 两种平台均无需 Node.js;以上体积与内存数据仅为 Windows 实测

装之前值得知道

  • 代码阅读与仓库分析完全在本地完成;拉取、推送仍走你配置的远端与认证方式
  • HTTPS Token / 密码只保留在应用本次运行的内存里;SSH 与凭据助手遵循本机配置
  • 采用 MIT 许可证,可自由使用、修改、分发;第三方依赖遵循各自许可证

源码

想自己构建或先读代码:

sssjack/gitvistaGitHub 仓库