# git-local-manager **Repository Path**: leemingy/git-local-manager ## Basic Information - **Project Name**: git-local-manager - **Description**: 本地仓库管理,支持仓库总览,ai提交率查看,代码推送,ai提交信息生成,一键打测试,开发,生产tag,一键删除无用分支等操作 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-03 - **Last Updated**: 2026-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Local Git Manager 本地 Git 项目管理网站,使用 Vue 3 + TypeScript + Nest.js 实现。 ## 功能 - 设置一个本地根目录并扫描其中的 Git 仓库。 - 展示项目分支、工作区状态、ahead/behind、近 10 天 AI 提交率。 - 输入远端仓库地址,将仓库 clone 到已设置的根目录。 - 查看单个仓库的状态、改动文件列表、文件 diff、提交记录、AI 提交率。 - 项目详情采用类似 GitHub 的仓库页,支持按当前分支默认浏览源码目录、以独立文件页查看高亮代码/图片预览、切换分支/Tag 和查看提交记录。 - 提交记录支持近 10 天和全部历史记录切换,全部记录固定 20 条/页并支持日期范围筛选。 - 支持提交全部改动、推送当前分支、拉取当前分支、更新所有远程分支/Tag、查看远程 Tag。 - 支持切换本地分支、从远程分支检出本地跟踪分支、新建分支,并可按文件撤销工作区/暂存区改动。 - 危险 Git 操作需要前端确认,且后端必须收到 `confirm: true` 才会执行。 ## 启动 ```bash pnpm install pnpm dev ``` - 前端开发地址:http://localhost:5173 - 后端 API 地址:http://127.0.0.1:3100/api ## 构建 ```bash pnpm build pnpm --filter @lgm/api start ``` 构建后 Nest 服务会尝试托管 `apps/web/dist`,可访问 http://127.0.0.1:3100。 ## 主要 API - `GET /api/projects/:id/commits?days=10&limit=100`:查看近 10 天提交记录。 - `GET /api/projects/:id/commits?all=true&page=1&from=2026-05-01&to=2026-05-09`:按时间范围分页查看全部提交记录,固定 20 条/页。 - `GET /api/projects/:id/commits/:hash/diff`:查看单个提交的 diff。 - `GET /api/projects/:id/diff?file=src/main.ts&mode=working`:查看工作区文件 diff。 - `GET /api/projects/:id/diff?file=src/main.ts&mode=staged`:查看暂存区文件 diff。 - `POST /api/projects/:id/revert-file`:按文件撤销工作区、暂存区或全部改动。 - `POST /api/projects/:id/pull`:拉取当前分支远程最新代码,默认使用 `git pull --ff-only`。 - `POST /api/projects/:id/fetch`:更新所有远程分支和 Tag。 - `GET /api/projects/:id/remote-tags`:查看所有远程 Tag。 - `GET /api/projects/:id/tree?ref=main&path=src`:按分支或 Tag 查看源码目录。 - `GET /api/projects/:id/file?ref=main&path=src/main.ts`:按分支或 Tag 查看文件代码。 ## AI 提交率规则 近 10 天当前分支的提交中,提交标题满足以下格式会计为 AI 提交: ```text feat: 【AI】... fix: 【AI】... ``` AI 提交率 = AI 提交数 / 总提交数。近 10 天无提交时显示 `0%`。