如何用终端驯服你的 Multi-Repo 混乱
Source: Dev.to

作为全栈开发者或 SRE,你很可能生活在 微服务和多仓库 的世界里。
你本地克隆了 10、20,甚至 50+ 个仓库:
apps/frontendapps/backendlibs/ui-kitinfrastructure/terraform- …以及那个你已经忘记的副项目。
问题:“上下文疲劳” 🛑
每天早上仪式感都是一样的:进入每个文件夹,检查是否忘记推送更改或是否落后于 origin/main。
cd apps/frontend
git status
# nothing to commit
cd ../../libs/ui-kit
git status
# …
手动切换上下文会严重降低生产力,让你在写下第一行代码之前就被打断,失去流状态。
现有的 GUI(GitHub Desktop、Sourcetree)往往太慢或臃肿。lazygit 很棒,但它的设计是一次只专注于 一个 仓库,而不是管理 五十个。
解决方案:Git 的 “上帝模式” 仪表盘 ⚡️
我需要一个工具具备以下特性:
- 极速 – 启动瞬间(使用 Go 编写)
- 终端优先 – 仍然在 CLI 中工作
- 多仓库 – 在同一视图中看到 所有 项目的状态
于是,我构建了 Git‑Scope。
关键特性
- 递归发现 – 自动在
~/projects文件夹中查找 git 仓库。 - “脏先排” – 将有未提交更改的仓库提升到顶部,防止工作丢失。
- 模糊搜索 – 输入
/即可按名称跳转到任意项目。
适用人群(ICP 与使用场景)
1. 微服务后端工程师 🏗️
痛点:一个功能涉及 5 个服务(auth、payments、core 等),你在其中 3 个服务里编辑了代码,却忘记具体是哪几个。
解决方案:打开 Git‑Scope。 “脏” 状态会把这 3 个已修改的仓库冒泡到最上方。几秒钟内完成提交和推送,让 PR 保持同步。
2. SRE / DevOps 工程师 🛠️
痛点:管理数十个 Terraform 模块或 Ansible 角色。需要在执行 plan 之前确认本地副本是否落后于 origin/main。
解决方案:仪表盘一眼即可看出哪些基础设施仓库落后(↓ 2 提交落后)。无需 cd 进入每个目录即可拉取更新。
3. 开源维护者 🐙
痛点:维护 10+ 个库,随处散落着随机的 stash 和未推送的实验分支。
解决方案:使用 模糊搜索(/)瞬间在库之间跳转,审查本地 PR。使用 “Clean” 过滤器找到那些被遗忘的实验分支,以便删除或推送。
安装方式
macOS / Linux(Homebrew)
brew tap Bharath-code/tap
brew install git-scope
直接使用 Go
go install github.com/Bharath-code/git-scope/cmd/git-scope@latest
为什么我会构建它
我想要一个遵循 Unix 哲学 的工具:专注做一件事且做到极致。
Git‑Scope 并不想取代 git 或 lazygit,而是对它们的补充。它提供了我工作流中缺失的高层次雷达功能,帮助我 保持流畅,无摩擦地管理本地 git 世界。
欢迎在 GitHub 上查看并告诉我你的想法!
