← 返回
未分类 Key

Git Manager

git-manager 让 AI 化身 Git 操作助手,覆盖日常开发中的高频场景。 核心能力 git_ops.py — 单仓库操作,27 个子命令:clone/pull/push/fetch、branch/checkout/merge/rebase、log/diff/status/show/blame、tag/remote/stash/reflog、worktree/bisect/grep、cherry-pick/revert、LFS 集成 batch_clone.py — 批量克隆 GitHub / GitLab / Gitea / Bitbucket / Azure DevOps 五平台,支持并发、Token 环境变量、dry-run 预览 batch_pull.py — 批量更新本地仓库,自动扫描、并发执行、stash 保护 git_lfs.py — LFS 跟踪管理、批量迁移、状态扫描 亮点 纯标准库、零依赖、安全 dry-run、并发高效、开箱即用 安装 通过 WorkBuddy Skill 市场安装,或克隆: https://github.com/zyjnicemoe/git-manager-skill
nicemoe
未分类 community v2.4.0 10 版本 100000 Key: 需要
★ 0
Stars
📥 167
下载
💾 8
安装
10
版本
#latest

概述

Git Manager

> Git 仓库管理技能,支持五大平台批量操作和 Gitea 运维。

核心脚本

脚本行数功能
------------------
scripts/batch_clone.py~900五平台批量克隆 + Gitea 运维(迁移/组织创建/镜像同步触发)
scripts/batch_pull.py~265批量更新本地仓库,支持并发/rebase/stash
scripts/git_ops.py~1360单仓库完整操作,27 个子命令
scripts/git_lfs.py~273Git LFS 跟踪管理、迁移、扫描

执行方式:

python scripts/batch_clone.py [args]
python scripts/batch_pull.py  [args]
python scripts/git_ops.py     [args]
python scripts/git_lfs.py      [args]

依赖: Python 3.8+,纯标准库,零额外依赖。


高频场景速查

批量克隆(batch_clone.py)

# GitHub org
python scripts/batch_clone.py --platform github --type org --id my-org --output ./repos

# GitLab group(含子组)
python scripts/batch_clone.py --platform gitlab --host https://gitlab.com \
  --type group --id 123456 --token $GITLAB_TOKEN --output ./repos

# GitHub → Gitea 迁移(启用镜像同步)
python scripts/batch_clone.py --platform gitea --host https://gitea.com \
  --migrate --src https://github.com/user/repo --name myrepo \
  --token $GITEA_TOKEN

# 创建 Gitea 组织(需管理员 token)
python scripts/batch_clone.py --platform gitea --host https://gitea.com \
  --create-org myorg --desc "Team" --token $GITEA_ADMIN_TOKEN

# 触发 Gitea 镜像同步
python scripts/batch_clone.py --platform gitea --host https://gitea.com \
  --sync --owner myuser --repo myrepo --token $GITEA_TOKEN

# 并发 + LFS + 过滤
python scripts/batch_clone.py --platform github --type org --id my-org \
  --output ./repos --workers 4 --lfs --filter api --limit 10

参数说明:

  • --platform: github / gitlab / gitea / bitbucket / azure
  • --type: org / group / user / project(按平台选填)
  • --token: 支持 GITHUB_TOKEN / GITLAB_TOKEN / GITEA_TOKEN 环境变量
  • --workers N: 并发克隆(默认 1,4-8 显著加速)
  • --format json: JSON 输出便于程序化处理
  • --dry-run: 仅预览不克隆
  • --archived: 包含已归档仓库
  • --recursive / --no-recursive: GitLab 子组控制(默认开启)

批量更新(batch_pull.py)

python scripts/batch_pull.py ./repos --rebase --stash --workers 4
python scripts/batch_pull.py ./repos --dry-run        # 预览

单仓库操作(git_ops.py)

# 克隆
python scripts/git_ops.py clone <URL> [dest] [-b branch] [--depth N] [--lfs]

# 暂存 + 提交
python scripts/git_ops.py add    <path> -A && \
python scripts/git_ops.py commit <path> -m "msg"

# 合并 / 衍合
python scripts/git_ops.py merge  <path> <branch> --no-ff
python scripts/git_ops.py rebase <path> --branch main

# 查看
python scripts/git_ops.py diff  <path> --staged
python scripts/git_ops.py log   <path> --oneline --graph -n 20

# 进阶
python scripts/git_ops.py stash      <path> --save "wip"
python scripts/git_ops.py reflog      <path> -n 30      # 找回丢失提交
python scripts/git_ops.py worktree    <path> --add ../feat -b feature
python scripts/git_ops.py bisect      <path> --start HEAD v1.0.0
python scripts/git_ops.py cherry-pick <path> abc1234
python scripts/git_ops.py grep        <path> "TODO" -n

Git LFS(git_lfs.py)

python scripts/git_lfs.py ./repo --install
python scripts/git_lfs.py ./repo --track "*.psd" "*.zip" "*.pdf"
python scripts/git_lfs.py ./repo migrate --pattern "*.zip" --to lfs

平台 ID 类型

平台--type--id 示例
----------------------------
GitHuborg / user / projectmy-org / johndoe / owner/repo
GitLabgroup / user / project123456 / johndoe / 123
Giteaorg / usermyorg / johndoe
Bitbucketworkspacemy-workspace
Azureproject项目名(需 --org 指定组织)

用户意图 → 脚本映射

用户说脚本关键参数
-----------------------
克隆 GitHub org 所有仓库batch_clone.py--platform github --type org --id
克隆 GitLab groupbatch_clone.py--platform gitlab --type group --id
GitHub → Gitea 迁移+镜像同步batch_clone.py--migrate --src --name
在 Gitea 创建组织batch_clone.py--create-org
触发 Gitea 镜像同步batch_clone.py--sync --owner --repo
更新本地所有仓库batch_pull.py./repos
合并 / rebase 分支git_ops.pymerge / rebase
找回误删的提交git_ops.pyreflog
多分支同时工作git_ops.pyworktree --add -b
二分定位 buggit_ops.pybisect --start HEAD v1.0.0
搜索仓库文本git_ops.pygrep "pattern"
管理 LFS 跟踪git_lfs.py--track "*.psd"

注意事项

  1. Token 安全:使用环境变量而非命令行参数暴露 token
  2. Rate Limit:GitHub 未认证仅 60次/小时,批量操作务必加 --token
  3. rebase 风险:已推送的公共分支禁止 rebase
  4. 冲突处理:merge/rebase 遇冲突后 git add + git merge/rebase --continue
  5. GitLab group_id:Group → Settings → General 查看数字 ID
  6. Gitea pull mirror:需服务器管理员在 app.ini 设置 PULL_REQUEST_PUSH_MIRRORS=true
  7. LFS 依赖:目标机器需先安装 git-lfs

参考资料

完整示例见 examples.md,包含 13 个覆盖所有平台和 Gitea 运维的完整场景。

版本历史

共 10 个版本

  • v2.4.0 SKILL.md重构、references重建,更简洁更高效 当前
    2026-04-15 08:32 安全 安全
  • v2.3.0 新增Gitea迁移、组织创建、镜像同步
    2026-04-15 08:24 安全
  • v2.2.0 Bitbucket和Azure DevOps支持
    2026-04-15 01:11 安全
  • v2.0.1 v2.1.0: 新增7个Git命令 + Bug修复
    2026-04-15 01:01 安全
  • v2.0.0 GitHub: https://github.com/zyjnicemoe/git-manager-skill/commit/3c97799 本次新增:2 个平台 平台 API 认证方式 使用方式 Bitbucket api.bitbucket.org/2.0/repositories/{workspace} Bearer token 或 Basic Auth --platform bitbucket --type workspace --id <workspace> Azure DevOps dev.azure.com/{org}/{project}/_apis/git/repositories Basic Auth (base64(":PAT")) --platform azure --org <org> --project <proj> 变更文件 文件 改动 batch_clone.py +2 平台支持、+auth_type 参数(区分 bearer/basic) SKILL.md 更新平台列表 + 新增两个平台示例 api_reference.md 新增 Bitbucket/Azure DevOps API 文档 + Token 创建指南 examples.md 新增场景四/五 CHANGELOG.md 新建,v2.2.0/v2.1.0/v2.0.0/v1.0.0 完整记录 平台支持汇总 github / gitlab / gitea / bitbucket / azure ↓ 5 大平台
    2026-04-15 00:19 安全 安全
  • v1.0.4 # 类别 文件 内容 🔴 Bug git_ops.py stash pop 不支持 stash ID(如 stash@{2}) 🔴 Bug git_ops.py log --oneline 与 --format 参数 dest 冲突 🟡 功能 git_ops.py 🆕 reflog — 引用日志,找回丢失的提交 🟡 功能 git_ops.py 🆕 describe — 语义化版本,基于最近标签 🟡 功能 git_ops.py 🆕 worktree — 多分支同时工作 🟡 功能 git_ops.py 🆕 grep — 仓库内文本搜索,支持正则/上下文 🟡 功能 git_ops.py 🆕 cherry-pick — 选取性应用提交 🟡 功能 git_ops.py 🆕 revert — 安全撤销(生成反向提交) 🟡 功能 git_ops.py 🆕 bisect — 二分查找定位 bug 🟢 改进 git_ops.py log 新增 --reverse / --follow 🟢 改进 git_ops.py diff 新增 --color-words / --ws-error-highlight 🟢 改进 git_ops.py branch 新增 -u/--set-upstream-to 🟢 改进 git_ops.py stash 新增 -u/--include-untracked
    2026-04-14 23:56 安全 安全
  • v1.0.3 修复清单 # 类别 文件 修复内容 🔴 Bug git_ops.py 删除 pull --rebase 的死代码(第 115 行无效赋值) 🔴 Bug git_lfs.py 修复 track 传参 git lfs track add → git lfs track 🟡 功能 batch_clone.py 新增 --workers N 并发克隆(ThreadPoolExecutor) 🟡 功能 batch_clone.py 新增 --format json JSON 输出,程序化调用 🟡 功能 batch_clone.py Token 环境变量 GITHUB_TOKEN / GITLAB_TOKEN / GITEA_TOKEN 🟡 功能 batch_clone.py 新增 --recursive / --no-recursive GitLab 子组控制 🟢 文档 CHANGELOG.md 🆕 新增版本记录 🟢 文档 SKILL.md + README.md + README_en.md 同步新功能说明和示例
    2026-04-14 23:41 安全 安全
  • v1.0.2 1.优化git_lfs.py脚本
    2026-04-14 23:12 安全
  • v1.0.1 优化SKILL技能简介和SKILL描述
    2026-04-14 22:46 安全 安全
  • v1.0.0 Initial release
    2026-04-14 22:40 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 676 📥 325,662
ai-agent

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,083 📥 812,770
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,381 📥 320,744