git-list-repos
v1.0.0
Published
A high-performance Node.js tool to recursively scan, monitor, and sync multiple Git repositories in your workspace.
Maintainers
Readme
Git 仓库批量扫描与管理工具 (git-list-repos)
这是一个基于 Node.js 开发的高效 Git 仓库管理工具。它能帮助开发者在复杂的工作空间中快速洞察所有项目的 Git 状态,并自动化处理常见的同步任务。
🚀 使用方法
1. 直接运行 (npx)
无需安装,直接在你的工作空间根目录下运行:
npx git-list-repos注:如果尚未发布到 npm,可以使用 npx github:<your-username>/git-list-repos 进行测试。
2. 本地开发与调试
如果你想在本地进行调试或贡献代码:
# 克隆仓库
git clone https://github.com/<your-username>/git-list-repos.git
cd git-list-repos
# 方式 A:通过 npm link 注册全局命令 (推荐)
npm link
git-list-repos
# 方式 B:直接通过 node 运行
node list-repos.js
# 方式 C:使用 npx 指向本地目录
npx .核心功能
- 高效扫描:
- 默认支持 4层 递归扫描。
- 深度搜索:即使目录本身不是 Git 仓库,也会继续向下探测隐藏的 Git 项目。
- 智能过滤:自动忽略
node_modules和隐藏目录,扫描速度极快。
- 状态监控:
- 实时分析分支名称、未提交变更 (M)。
- 计算与远程仓库的同步差异(Ahead/Behind)。
- 自动化同步:
- 自动 Pull:对 100% 无冲突的仓库自动执行更新。
- 空仓库初始化:检测到远程为空时,自动推送本地分支并建立关联。
- 远程修复:
- 通过
remote-fix.json批量更换失效的远程仓库地址。
- 通过
配置项
在本地运行或通过 npm 安装后,可以修改脚本顶部的配置:
| 配置项 | 默认值 | 说明 |
| :--- | :--- | :--- |
| MAX_DEPTH | 4 | 目录递归扫描的最大深度 |
| SHOW_NON_GIT | false | 是否显示不含 Git 仓库的文件夹 |
| AUTO_PULL | true | 是否自动拉取无冲突的代码 |
远程地址批量修复流程
- 运行
npx git-list-repos。 - 如果有无法连接的地址,脚本会生成
remote-fix.json。 - 在文件中填入新的
newUrl。 - 再次运行命令,脚本将自动完成地址更换、可用性检测及代码同步。
统计信息
扫描结束后,脚本会输出详细的统计数据,包括扫描文件夹总数、Git 仓库总数等。
License: MIT
