Git Manager

Polar Sponsor
爱发电 赞助
.NET 9.0

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 /

Git Manager

功能概述

Git Manager是一项面向实际任务的技能,主要用于Git 仓库管理技能,支持五大平台批量操作和 Gitea 运维;scripts/batch_clone.py;

核心要点

  • 五平台批量克隆 + Gitea 运维 (迁移/组织创建/镜像同步触发);
  • scripts/batch_pull.py;
  • 批量更新本地仓库,支持并发/rebase/stash;

使用与执行

scripts/git_ops.py;~1360;单仓库完整操作。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

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 ~273 Git 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  [dest] [-b branch] [--depth N] [--lfs]

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

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

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

# 进阶
python scripts/git_ops.py stash       --save "wip"
python scripts/git_ops.py reflog       -n 30      # 找回丢失提交
python scripts/git_ops.py worktree     --add ../feat -b feature
python scripts/git_ops.py bisect       --start HEAD v1.0.0
python scripts/git_ops.py cherry-pick  abc1234
python scripts/git_ops.py grep         "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 示例
GitHub org / user / project my-org / johndoe / owner/repo
GitLab group / user / project 123456 / johndoe / 123
Gitea org / user myorg / johndoe
Bitbucket workspace my-workspace
Azure project 项目名(需 --org 指定组织)

用户意图 → 脚本映射

用户说 脚本 关键参数
克隆 GitHub org 所有仓库 batch_clone.py --platform github --type org --id
克隆 GitLab group batch_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.py merge / rebase
找回误删的提交 git_ops.py reflog
多分支同时工作 git_ops.py worktree --add -b
二分定位 bug git_ops.py bisect --start HEAD v1.0.0
搜索仓库文本 git_ops.py grep "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 运维的完整场景。

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2281

6

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

2517

7

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

714

5

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1260

6

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

3859

9

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

0

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

0

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

0

15

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

2026.10.10

0

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习