一眼看清本机所有 Git 仓库的当前状态 —— 一个跑在 Windows 上的「Git 仓库概览墙」。
三十多个仓库,一屏铺开:哪个干净、哪个一堆未提交、哪个有未推送的提交,颜色和符号直接告诉你。
关于截图:本文档里的截图统一使用一组演示仓库 —— 项目名、路径、提交说明都是虚构的,为的是不把本机真实的项目和目录暴露出去。界面本身与实际使用完全一致。
当前是内测版
这个版本还在调整中,功能和界面都可能变。
用着发现问题、或者想到更合适的做法,欢迎直接提出来 —— 发邮件到 RiverPlus2026@outlook.com 就行,说明怎么操作、看到了什么、期望是什么。内测阶段最需要的就是这些真实反馈。
软件里的「帮助 → 关于作者…」也能看到作者的主页、邮箱和技术论坛。
为什么做这个
硬盘里的 Git 仓库是会悄悄变多的。我的开发目录下面躺着三十多个,散在好几层目录里:有的是在跑的项目,有的是半年前的临时验证,有的是从别处拷过来改两行的副本。
问题是它们的状态是看不见的:
- 这个仓库上次提交是三天前,还是三个月前?
- 有几个仓库攒了一堆改动,自己都忘了?
- 哪几个本地有提交但没 push?
平时要回答这些问题,只能一个个 cd 进去 git status。三十几个仓库就是三十几次操作,没人会这么干。于是就有了 RiverPlusGit:把「仓库列表」变成一堵能一眼扫完的墙。
它只做一件事 —— 看。不做提交、不做推送、不改你的仓库(唯一会写盘的只有一个可选功能,见后文)。
它长什么样
主界面就是上面那张图:卡片自适应换行,窗口拉大就能铺更多;每张卡片是一个仓库。
每张卡片长这样:
从上到下:仓库名 → 当前分支 → 完整路径 → 状态符号 + 最后提交时间 → 最后提交说明 → 分类;右下角有两个图标按钮。
其中中间那行彩色符号是整张卡片的重点,整行同色:红色 = 有未提交的改动,绿色 = 工作区干净。所以扫一眼颜色就够了,不用读字。
右下角那两个小图标是「就地跳转」用的,不用先右键:
| 图标 | 动作 |
|---|---|
| 文件夹 | 在资源管理器中打开该仓库目录 |
</> | 在 VS Code 中打开该仓库 |
选中了多个仓库时,这两个图标会作用于整批选中的仓库,不用一个个点。
搜索:按仓库名 / 分支 / 路径实时筛选。
分类筛选:胶囊按钮一键过滤,仓库可以拖到分类上归类 —— 多选之后整批一起拖。
多选:Ctrl 点选单个、Shift 点选一段、Ctrl+A 全选当前筛出来的、Esc 清空选择。选中的卡片右上角会出现对勾角标。
卡片右键菜单:在资源管理器里打开、在 VS Code 中打开、复制路径、移动到分类、从扫描列表移除。选中多个时,菜单标题会自动变成「…(3 项)」,一次作用到整批。
操作菜单:刷新(F5)、优化仓库索引、退出。
设置菜单:刷新间隔、卡片排序。父菜单标题会直接写上当前状态,不用展开也知道现在是什么设置。
功能一览
仓库状态一览
程序会把你指定的目录下所有 Git 仓库找出来,每个仓库一张卡片。不需要本机装 git,装上就能用。每张卡片汇总这些信息:
| 卡片元素 | 含义 |
|---|---|
| 仓库名 | 仓库所在的目录名 |
| 分支 | 当前所在的分支(空仓库显示 (空仓库)) |
| 路径 | 仓库在本机磁盘上的完整路径 |
| 状态符号 | 改动情况汇总,见下方速查表 |
| 时间 | 最后一次提交的时间 |
| 末行文字 | 最后一次提交的说明 |
| 分类 | 归属的分类,拖到分类栏按钮上即可改 |
| 右下角图标 | 在资源管理器中打开 / 在 VS Code 中打开 |
多选与批量操作
仓库一多,一个个归类、一个个复制路径就很烦。所以卡片支持多选,选完之后所有操作都是批量的:
| 操作 | 怎么做 |
|---|---|
| 选一个 | 直接点卡片 |
| 加/减选 | Ctrl + 点卡片 |
| 连选一段 | Shift + 点卡片 |
| 全选当前可见 | Ctrl + A(只选筛选结果里的,不是全部仓库) |
| 清空选择 | Esc,或点卡片区外的空白 |
| 整批归类 | 从任一选中的卡片上按住拖动,拖到顶部分类按钮上松手 |
| 整批打开资源管理器 | 右键 →「在资源管理器中打开(N 项)」,或点卡片右下角文件夹图标 |
| 整批在 VS Code 打开 | 右键 →「在 VS Code 中打开(N 项)」,或点卡片右下角 </> 图标 |
| 整批复制路径 | 右键 →「复制 N 条路径」(一行一个,方便粘到别处) |
| 整批移除 | 右键 →「从扫描列表移除这 N 个目录」 |
两个细节值得一提:
- 从选中的卡片上拖,带的是整批;从没选中的卡片上拖,只带这一张。 只有一条规则,不用记两套。
- 点击和拖拽不会互相打架。 在已选中的多项里点一下,会先等鼠标抬起来 —— 如果你只是点了点,就收拢成「只选中这一张」;如果你按住拖走了,就是整批拖拽。手抖也不会误判成拖拽(有系统的最小拖动距离兜底)。
状态栏会实时显示「已选 N 个 · 可拖到分类批量归类」。
刷新(F5)不会丢掉你的选择,选择会跟着仓库路径一起保留下来。
分类管理
- 分类栏是动态生成的:
全部+默认+ 你自定义的分类 ++ 添加。 - 拖卡片到分类按钮上即可归类;也可以右键卡片 →「移动到分类」。选中多个仓库后,整批拖一次就全归好了。
- 自定义分类左侧有个
≡手柄,拖动可以排序;右键分类可以删除(该分类下的仓库自动回落到「默认」)。 默认分类不可删除,新扫描出来的仓库都先落在这里。- 上次停在哪个分类会被记住 —— 关掉程序再打开,还停在那个分类上,不用每次重新点一遍。如果那个分类后来被删了,就自动退回「默认」。
- 归类结果会被记住,不会因为重扫而丢失。
搜索与排序
搜索框实时过滤,匹配仓库名 / 分支 / 路径三者之一。
排序支持 5 种模式,并且切换模式时会自动给一个常用方向(比如「最近提交」和「改动量」默认倒序),省得还要手动翻一次:
| 排序模式 | 依据 | 默认方向 |
|---|---|---|
| 最近提交 | 最后一次提交时间 | 倒序(最新在前) |
| 名称 | 仓库名 | 正序 |
| 改动量 | 改动文件数合计 | 倒序(最脏在前) |
| 分类 | 先按分类,再按名称 | 正序 |
| 扫描顺序 | 仓库完整路径 | 正序 |
扫描目录管理
程序会在你配置的根目录下递归查找 Git 仓库。菜单「目录 → 管理扫描目录…」打开这个弹窗:
- 可以加多个根目录,顺序不影响结果。
- 递归深度 1~12 可调(默认 4)。
- 每一行都会实时校验:绿色
✓ 有效/ 橙色已被上级目录包含/ 红色⚠ 目录不存在,避免配错了还不知道。 - 添加一个上级目录时,会提示是否顺手清理被它覆盖的冗余子目录。
- 还有「恢复默认」,会重新探测常见的开发目录。
打开就能看,不用等
程序启动时会先用上次的扫描结果把卡片墙立刻画出来,同时后台重新扫一遍,结果回来再覆盖。所以除了第一次运行,之后每次打开基本是瞬间铺满的。
状态栏会如实标注数据来源,不会假装缓存是最新的:
缓存于 09-17 15:04 · 后台更新中… ← 先拿缓存画出来的
已更新 15:13:05 · 耗时 1115 ms ← 后台扫描完成
自动刷新间隔可选 2 / 5 / 10 / 30 秒,默认关闭。
加载提示也做了刻意处理:活儿干得快就压根不显示,一旦显示就至少停留一会儿,不会闪一下就没。列表里已经有卡片时只亮顶部一条细进度条,不遮挡、可以继续操作。
优化仓库索引
菜单里有个不太起眼但很实用的功能。有些仓库因为自身的索引信息过期,读取状态会明显变慢(本机实测:三十几个仓库里有 3 个要 4 秒,其余都在 1 秒以内)。这个功能会把「读取缓慢」的仓库单独挑出来修复一遍,之后扫描就快了。
它是整个程序唯一会写你的仓库文件的功能,而且:
- 只写 Git 自己的索引文件(
.git/index),不碰工作区文件、不碰暂存区内容、不碰提交历史; - 执行前有确认弹窗,把上面这几条讲清楚;
- 跑完会给出前后耗时对比,效果直接看得见。
其他细节
- 窗口位置、尺寸和上次停在的分类都会被记住,换了显示器也不会跑到看不见的地方。
- 多屏不同缩放下界面不糊,副屏接上就能用。
- 支持超长路径:260 字符以上的深目录仓库也能扫到。
- 便携:配置放在程序同目录的
config里,整个文件夹拷走配置跟着走。 - 标题栏带版本号,一眼知道自己在跑哪个版本。
状态符号速查
程序里「帮助 → 图标与状态说明…」有个专门的弹窗,卡片上那些符号的含义都集中列在这里:
| 符号 | 含义 |
|---|---|
↑N | 本地比远程多 N 个提交,需要推送(push) |
↓N | 本地比远程少 N 个提交,需要拉取(pull) |
⚑N | 已暂存(staged)的改动 N 个 |
+N | 新增的文件 N 个 |
~N | 已修改的文件 N 个 |
-N | 已删除的文件 N 个 |
→N | 重命名的文件 N 个 |
?N | 未跟踪的新文件 N 个(还没 git add) |
!N | 工作区里丢失的已跟踪文件 N 个 |
干净 | 没有未提交的改动 |
读取失败 | 仓库打不开或读取状态时出错 |
符号按固定顺序拼接(先远程差异,再暂存区,再工作区),所以同一类改动在每张卡片上的位置是一致的,横向扫视时很容易比较。
下载与运行
网盘下载 :
内测版压缩包放在这个文件夹里,后续更新也发在这里。
环境要求:Windows 10 / 11,x64。免安装,解压即用。
程序提供两种分发形态。目录名带上版本号和阶段标签(RiverPlusGit-<形态>-v<版本号>-<阶段>),当前是 v1.0.0-内测版:
| 目录 | 运行环境 | 说明 |
|---|---|---|
RiverPlusGit-Framework-v1.0.0-内测版 | 需装 .NET 10 桌面运行时 | 框架依赖版,体积最小。包内已附带运行时安装包和《运行环境说明.txt》,装上就能用 |
RiverPlusGit-PrivateRuntime-v1.0.0-内测版 | 免装 | 私有运行时版,运行时收在自己的 runtime 子目录里,解压即用,根目录只留几个文件 |
阶段标签会跟着版本一起变(内测版 → 公测版 → 正式版);到正式版时标签去掉,目录名就只剩 v1.0.0。
框架依赖版怎么用:解压后先双击包里的 windowsdesktop-runtime-…-win-x64.exe 装上运行环境(一路下一步,不需要联网也不需要重启),再双击 RiverPlusGit.exe 就行。包根目录里的《运行环境说明.txt》写的是同样的步骤 —— 转手给别人时,把整个文件夹一起给过去即可。
首次启动会自动探测常见的开发目录作为扫描根。如果没探测到,用菜单「目录 → 快速添加目录…」自己选一个就行。
配置文件
配置目录默认是程序同目录下的 config,整个文件夹拷走配置跟着走。
config/
├── reposettings.json # 扫描目录、深度、分类、分类映射、排序、当前分类、窗口位置
├── repocache.json # 上次扫描结果缓存(首屏秒开用)
└── logs/
└── settings.log # 配置读写失败时的日志
reposettings.json 是给人看、可以手改的:
{
"RepositoryPaths": ["D:\projects"],
"ScanMaxDepth": 4,
"AutoRefreshSeconds": 0,
"Categories": ["默认", "项目", "GitHub", "工作", "其他"],
"CurrentCategory": "工作",
"RepoCategoryMap": {
"D:\projects\acme-web": "项目"
},
"SortMode": "recent",
"SortDescending": true,
"VsCodePath": ""
}
CurrentCategory 是上次退出时停在哪一个分类(分类栏里高亮的那个)。程序关掉再打开会回到这个分类上,不用每次重新点一遍。它记的是分类名而不是第几个 —— 分类可以增删、可以拖动排序,记下标下次就对不上了。如果这个分类后来被删了,程序会自动退回「默认」。
VsCodePath 是「在 VS Code 中打开」用的启动器路径,平时留空就行:程序会自己去找 —— 先看 PATH 里的 code,再探常见的安装位置(用户级安装、系统级安装、Insiders 版都认)。只有都找不到时,才会弹一次文件选择框让你手动指定,选完就记在这里,下次不用再选。
菜单「目录 → 打开配置文件位置」可以直接在资源管理器里定位到它。
手改坏了也不用担心:程序会把读到的值整理一遍再使用 —— 路径去重、补上「默认」分类、CurrentCategory 指向的分类不存在时退回「默认」、深度限制在 1~12、不认识的排序方式回落到默认值,不会因为配置写错就起不来。
已知限制
- 只支持 Windows。暂时没有跨平台计划。
- 只读定位。不做提交、推送、拉取、切换分支。唯一会写仓库的是「优化仓库索引」,且只写 Git 自己的索引文件。
- 状态是汇总,不是细节。卡片告诉你「有 4 个文件改了」,具体是哪 4 个还得去
git status。这是刻意的取舍:概览要的是横向可比,不是纵向详尽。 - 「在 VS Code 中打开」依赖能找到 VS Code。绿色版 / 解压到非标准目录的安装,程序可能探测不到,这时会弹一次文件选择框让你手动指定一次(见配置文件里的
VsCodePath)。 - 「优化仓库索引」需要本机有 git。PATH 里找不到
git时会明确提示并跳过,其余功能不受影响。
反馈与建议
这个工具是按「我自己用得上」的思路做的,所以很多取舍可能只对了一半。内测版尤其需要你的反馈。
欢迎提的包括但不限于:
- 用起来别扭的地方 —— 哪一步多余、哪个按钮位置反直觉、哪个信息你其实从来不看;
- 判断错的地方 —— 状态符号显示得和
git status不一致,或者某个仓库读不出来; - 想不通的地方 —— 文档没说清楚、界面上某个符号看不懂。
反馈时如果能带上怎么操作、看到了什么、期望是什么这三条,会好定位很多。截图更好。
发到 RiverPlus2026@outlook.com 就行。
关于作者
程序员江涛_RiverPlus —— 平时写些自己用得上、顺手也想给别人用的小工具。
| 主页 | home.riverplus.top |
| 邮箱 | RiverPlus2026@outlook.com |
| 技术论坛 | juejin.cn/column/7678… |
由于是个人独立开发的软件,难免有些小问题。如有任何疑问或 Bug 反馈,欢迎发邮件给我。
程序里「帮助 → 关于作者…」有同样的联系方式,点一下就能打开。
最后
这个项目的起点很小 —— 只是想知道「我那堆仓库现在都什么情况」。
如果你也在 Windows 上攒了一堆 Git 仓库,希望它能帮你少敲几次 git status。
内测阶段,欢迎把用着不顺手的地方告诉我。