Token导航 LogoToken导航TokenDH.com
研究检索external-serviceclawhub未标认证来源可访问clear审计提醒

git-manager-skillgit 管理员技能

Agent Skill

git-manager-skill 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,165

周安装

93

GitHub Stars

公开资料未说明

下载量

759
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:git-manager-skill(git 管理员技能)
来源仓库:https://github.com/zyjnicemoe/git-manager-skill
安装命令:
openclaw skills install git-manager-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install git-manager-skill

简介

用于查找、检索和筛选相关信息,适合在 OpenClaw 中根据关键词定位候选结果。

  • 当用户需要执行 Git 存储库操作时,包括克隆、拉取、合并、变基、提交、暂存等任务。
  • 提供结构化的 Git 操作流程指导,辅助完成复杂仓库管理需求。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用于需要自动化或批量处理多个 Git 项目的场景。

SKILL.md

name
git-manager
description
>
author
zhuyijun
url
https://zyjblogs.cn

Git Manager

Git 仓库管理技能,支持 GitHub、GitLab、Gitea、Bitbucket、Azure DevOps 五大平台的克隆、拉取、合并、衍合、提交、暂存区操作、Git LFS,以及批量克隆仓库。

核心脚本

脚本功能
scripts/git_ops.py单仓库完整操作:clone / pull / fetch / branch / checkout / merge / rebase / reflog / describe / worktree / grep / cherry-pick / revert / bisect / stash / diff / log / status / show / blame / tag / remote / clean / gc / lfs
scripts/batch_clone.py批量克隆:覆盖 GitHub/GitLab/Gitea/Bitbucket/Azure DevOps 五大平台,支持 --limit / --lfs / --ssh / --workers / --format json
scripts/batch_pull.py批量更新:扫描本地目录下所有 git 仓库并批量 pull/fetch,支持并发
scripts/git_lfs.pyGit LFS 专用工具:批量跟踪模式、迁移、检查仓库 LFS 状态

执行脚本时使用 Python 3.8+,无需额外依赖(只用标准库):

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

操作流程

1. 单仓库操作(git_ops.py)

克隆

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

拉取

python scripts/git_ops.py pull <repo_path> [--rebase] [--ff-only] [--remote origin]

合并

python scripts/git_ops.py merge <repo_path> <branch> [--no-ff] [--squash] [-m message]

衍合

python scripts/git_ops.py rebase <repo_path> [--onto <base>] [--branch <branch>] [-i]

暂存文件

python scripts/git_ops.py add <repo_path> <files...>     # 暂存指定文件
python scripts/git_ops.py add <repo_path> -A              # 暂存全部(包括未跟踪)
python scripts/git_ops.py add <repo_path> -u              # 暂存已跟踪文件
python scripts/git_ops.py add <repo_path> -p              # 交互式暂存补丁

提交

python scripts/git_ops.py commit <repo_path> -m "提交信息"      # 基本提交
python scripts/git_ops.py commit <repo_path> -a -m "更新"        # 自动暂存已跟踪文件
python scripts/git_ops.py commit <repo_path> --amend -m "修改信息"  # 修改上次提交

暂存区重置

python scripts/git_ops.py reset <repo_path>              # 取消暂存全部(保留修改)
python scripts/git_ops.py reset <repo_path> --hard HEAD~1  # 硬重置到上一次提交
python scripts/git_ops.py reset <repo_path> --soft HEAD~1  # 软重置(保留修改在暂存区)

Stash(暂存工作区)

python scripts/git_ops.py stash <repo_path> --save "work in progress"
python scripts/git_ops.py stash <repo_path> --pop          # 弹出最近 stash
python scripts/git_ops.py stash <repo_path> --list        # 列出所有 stash
python scripts/git_ops.py stash <repo_path> --drop stash@{0}  # 删除指定 stash

查看差异

python scripts/git_ops.py diff <repo_path>               # 工作区 vs 暂存区
python scripts/git_ops.py diff <repo_path> --staged       # 暂存区 vs HEAD
python scripts/git_ops.py diff <repo_path> --stat          # 显示统计信息
python scripts/git_ops.py diff <repo_path> main..feature   # 比较两个分支

查看提交历史

python scripts/git_ops.py log <repo_path> -n 20            # 最近 20 条
python scripts/git_ops.py log <repo_path> --oneline --graph --all  # 图形化全部分支
python scripts/git_ops.py log <repo_path> --author "name"  # 按作者过滤
python scripts/git_ops.py log <repo_path> --since "2024-01-01" --until "2024-12-31"  # 日期范围
python scripts/git_ops.py log <repo_path> --grep "fix"     # 按提交信息过滤

查看文件逐行历史

python scripts/git_ops.py blame <repo_path> src/main.py -L 10,20

标签管理

python scripts/git_ops.py tag <repo_path> --list                       # 列出标签
python scripts/git_ops.py tag <repo_path> --create -m "v1.0.0" v1.0.0   # 创建标签
python scripts/git_ops.py tag <repo_path> --delete v0.9.0              # 删除标签
python scripts/git_ops.py tag <repo_path> --push v1.0.0                # 推送标签

远端管理

python scripts/git_ops.py remote <repo_path> --list                    # 列出远端
python scripts/git_ops.py remote <repo_path> --add upstream <URL>      # 添加远端
python scripts/git_ops.py remote <repo_path> --set-url origin <URL>   # 修改 URL
python scripts/git_ops.py remote <repo_path> --remove upstream         # 删除远端

清理未跟踪文件

python scripts/git_ops.py clean <repo_path> --dry-run    # 预览
python scripts/git_ops.py clean <repo_path> -f -d         # 强制删除未跟踪文件和目录

垃圾回收

python scripts/git_ops.py gc <repo_path> --aggressive    # 激进压缩
python scripts/git_ops.py gc <repo_path> --prune          # 清理悬空对象

引用日志(找回丢失的提交)

python scripts/git_ops.py reflog <repo_path> -n 20         # 最近 20 条 reflog
python scripts/git_ops.py reflog <repo_path> HEAD          # 特定引用的 reflog

语义化版本描述

python scripts/git_ops.py describe <repo_path>             # 基于最近标签
python scripts/git_ops.py describe <repo_path> --tags      # 只考虑标签
python scripts/git_ops.py describe <repo_path> --all       # 考虑所有分支的标签
python scripts/git_ops.py describe <repo_path> --match "v*" # 只匹配 v 开头的标签

工作树管理

python scripts/git_ops.py worktree <repo_path> --list                    # 列出所有工作树
python scripts/git_ops.py worktree <repo_path> --add ../feature-dir feature # 添加工作树
python scripts/git_ops.py worktree <repo_path> --remove ../feature-dir     # 删除工作树
python scripts/git_ops.py worktree <repo_path> --prune                    # 清理失效工作树
python scripts/git_ops.py worktree <repo_path> --lock ../feature-dir --reason "临时" # 锁定

仓库文本搜索

python scripts/git_ops.py grep <repo_path> "TODO"              # 搜索 TODO
python scripts/git_ops.py grep <repo_path> "FIXME" -i          # 忽略大小写
python scripts/git_ops.py grep <repo_path> "func.*init" -E     # 扩展正则
python scripts/git_ops.py grep <repo_path> "error" -n -c        # 显示行号和匹配数
python scripts/git_ops.py grep <repo_path> "TODO" -l           # 只显示文件名
python scripts/git_ops.py grep <repo_path> "TODO" -B 2 -A 2    # 前后各 2 行上下文

选取性应用提交

python scripts/git_ops.py cherry-pick <repo_path> abc1234       # cherry-pick 单个提交
python scripts/git_ops.py cherry-pick <repo_path> abc..def      # cherry-pick 范围
python scripts/git_ops.py cherry-pick <repo_path> --no-commit   # 执行但不自动提交
python scripts/git_ops.py cherry-pick <repo_path> --continue    # 解决冲突后继续
python scripts/git_ops.py cherry-pick <repo_path> --abort       # 放弃并恢复

安全撤销(生成反向提交)

python scripts/git_ops.py revert <repo_path> abc1234            # revert 单个提交
python scripts/git_ops.py revert <repo_path> --no-commit        # 执行但不自动提交
python scripts/git_ops.py revert <repo_path> --continue         # 解决冲突后继续
python scripts/git_ops.py revert <repo_path> --abort             # 放弃并恢复

二分查找定位 bug

python scripts/git_ops.py bisect <repo_path> --start HEAD v1.0.0  # 启动 bisect
python scripts/git_ops.py bisect <repo_path> --good               # 标记当前为 good
python scripts/git_ops.py bisect <repo_path> --bad                # 标记当前为 bad
python scripts/git_ops.py bisect <repo_path> --skip               # 跳过当前提交
python scripts/git_ops.py bisect <repo_path> --reset              # 重置并退出
python scripts/git_ops.py bisect <repo_path> --run "make test"    # 自动运行测试

log 增强

python scripts/git_ops.py log <repo_path> --reverse               # 逆序显示(从最早到最新)
python scripts/git_ops.py log <repo_path> --follow src/main.py    # 追踪文件重命名

diff 增强

python scripts/git_ops.py diff <repo_path> --color-words           # 词级别高亮
python scripts/git_ops.py diff <repo_path> --ws-error-highlight    # 高亮空白符错误

分支设置上游

python scripts/git_ops.py branch <repo_path> -u origin/main         # 当前分支设上游
python scripts/git_ops.py branch <repo_path> feature -u origin/main # 指定分支设上游

Stash 增强

python scripts/git_ops.py stash <repo_path> --save "wip" -u         # 同时暂存未跟踪文件
python scripts/git_ops.py stash <repo_path> --pop stash@{2}         # 弹出指定 stash

2. 批量克隆(batch_clone.py)

必填参数

  • --platformgithub / gitlab / gitea / bitbucket / azure
  • --typeorg / group / user / project
  • --id:组织名 / group ID / 用户 ID / project ID
  • --output:本地保存目录

可选参数

  • --host:GitLab/Gitea 实例地址(GitHub 不需要)
  • --token:API 访问令牌,也可通过 GITHUB_TOKEN / GITLAB_TOKEN / GITEA_TOKEN 环境变量传入
  • --ssh:使用 SSH 克隆(默认 HTTPS)
  • --branch:指定克隆分支
  • --depth N:浅克隆
  • --update:仓库已存在时执行 pull 更新(默认跳过)
  • --filter <keyword>:按仓库名过滤
  • --limit N:只处理前 N 个仓库(如 --limit 5
  • --archived:包含已归档仓库
  • --lfs:克隆后初始化 Git LFS,追加常见二进制文件跟踪规则
  • --dry-run:仅列出不克隆
  • --workers N:并发克隆线程数(默认 1,4-8 可显著加速)
  • --format json:JSON 格式输出(便于程序化处理)
  • --recursive / --no-recursive:包含/排除 GitLab 子组(默认开启)

平台 ID 类型对应关系

平台--type 选项--id 填写内容
GitHuborg组织名(如 my-org
GitHubuser用户名(如 johndoe
GitHubprojectowner/repo(如 my-org/my-repo
GitLabgroupGroup 数字 ID 或路径
GitLabuser用户数字 ID 或用户名
GitLabprojectProject 数字 ID
Giteaorg组织名
Giteauser用户名
BitbucketworkspaceWorkspace ID
Azure DevOpsproject项目名(需配合 --org

完整示例

# GitHub 用户前 5 个仓库,启用 LFS,并发 4 线程
python scripts/batch_clone.py --platform github --type user --id zyjnicemoe \
  --output ./repos --limit 5 --lfs --workers 4

# GitLab group 批量克隆(包含子组,JSON 输出)
python scripts/batch_clone.py --platform gitlab --host https://gitlab.com \
  --type group --id 123456 --token glpat-xxx --output ./repos --format json

# Gitea 组织批量克隆
python scripts/batch_clone.py --platform gitea --host https://git.example.com \
  --type org --id myorg --output ./repos --lfs --workers 8

# 通过环境变量设置 token(更安全,不暴露在命令行)
export GITLAB_TOKEN=glpat-xxx
python scripts/batch_clone.py --platform gitlab --host https://gitlab.com \
  --type group --id 123456 --output ./repos

# Bitbucket workspace 下所有仓库
python scripts/batch_clone.py --platform bitbucket \
  --type workspace --id my-workspace --token BB_TOKEN --output ./repos

# Azure DevOps 项目下所有仓库
python scripts/batch_clone.py --platform azure \
  --org my-org --project MyProject --token AZURE_PAT --output ./repos

3. 批量更新(batch_pull.py)

python scripts/batch_pull.py <root_dir> [options]

关键参数

  • --rebase:以 rebase 方式拉取
  • --fetch:仅 fetch,不合并
  • --stash:有未提交修改时自动 stash
  • --workers N:并发线程数(加速大量仓库)
  • --filter <keyword>:只处理名称含关键字的仓库
  • --max-depth N:扫描目录深度(默认 3)

4. Git LFS 工具(git_lfs.py)

python scripts/git_lfs.py <repo_dir> [options]

参数

  • --track <pattern>:添加 LFS 跟踪模式(如 *.zip, *.psd
  • --untrack <pattern>:取消跟踪模式
  • --install:初始化 LFS
  • --fetch:LFS Fetch
  • --pull:LFS Pull
  • --push:LFS Push
  • --ls-files:列出 LFS 跟踪的文件
  • --ls-tracks:列出当前跟踪模式
  • --scan:扫描仓库中的 LFS 对象
  • --status:显示 LFS 状态
  • --migrate [--pattern <p>] [--to <backend>]:迁移文件到 LFS 或从 LFS 迁出

常用示例

# 在仓库中启用 LFS 并跟踪常见二进制格式
python scripts/git_lfs.py ./my-repo --install
python scripts/git_lfs.py ./my-repo --track "*.zip" "*.tar.gz" "*.psd" "*.pdf"

# 批量为目录下所有仓库启用 LFS(结合 find)
Get-ChildItem -Recurse -Directory | ForEach-Object {
    python scripts/git_lfs.py $_.FullName --install 2>$null
}

参考资料

  • references/api_reference.md:各平台 API 端点、认证方式、仓库字段说明、Token 创建指南
  • references/examples.md:完整使用示例,覆盖 GitHub/GitLab/Gitea/Bitbucket/Azure DevOps 典型场景

需要更详细的 API 信息或示例时,读取对应参考文件。


重要注意事项

  1. Token 安全:避免在命令行历史中暴露 token,建议使用环境变量或 Git credential helper
  2. Rate Limit:GitHub 未认证只有 60次/小时,批量操作必须使用 token
  3. SSH vs HTTPS:使用 --ssh 需提前配置 SSH Key 到对应平台
  4. rebase 风险:对已推送到远端的公共分支不要使用 rebase
  5. 冲突处理:merge/rebase 遇到冲突会停止,需手动解决后 git add + git merge/rebase --continue
  6. GitLab group_id:进入 Group → Settings → General 查看数字 ID;也可用 URL 编码的路径(如 my-group%2Fsub-group
  7. Gitea 分页:使用 limit 参数(非 per_page),脚本已自动处理差异
  8. Git LFS:确保目标机器已安装 git-lfs,可用 git lfs install 初始化

常见用户请求及处理方式

用户说使用哪个脚本关键参数
"克隆 GitHub org 下所有仓库"batch_clone.py--platform github --type org --id <org>
"克隆 GitLab group 123 下所有项目"batch_clone.py--platform gitlab --type group --id 123
"用我的 Gitea 账号克隆所有仓库"batch_clone.py--platform gitea --type user --id <username>
"克隆 Bitbucket workspace 下所有仓库"batch_clone.py--platform bitbucket --type workspace --id <workspace>
"克隆 Azure DevOps 项目下所有仓库"batch_clone.py--platform azure --org <org> --project <proj>
"克隆后启用 LFS"batch_clone.py--platform github --type user --id <user> --lfs
"只克隆前 5 个仓库"batch_clone.py--platform github --type org --id <org> --limit 5
"快速并发克隆 50 个仓库"batch_clone.py--platform github --type org --id <org> --workers 4
"JSON 输出供程序解析"batch_clone.py--platform github --type user --id <user> --format json
"更新本地 ./repos 下所有仓库"batch_pull.py./repos
"用 rebase 方式同步所有仓库"batch_pull.py./repos --rebase
"暂存并提交修改"git_ops.pyadd <path> -A && commit <path> -m "msg"
"合并 feature 分支到当前分支"git_ops.pymerge <path> <branch> --no-ff
"把我的分支 rebase 到 main"git_ops.pyrebase <path> --branch main
"查看当前有哪些修改"git_ops.pydiff <path>
"暂存工作区修改,稍后恢复"git_ops.pystash <path> --save "wip"
"查看某个文件的逐行历史"git_ops.pyblame <path> <file>
"不小心 reset --hard 了,找回提交"git_ops.pyreflog <path>
"查看当前版本号(基于 tag)"git_ops.pydescribe <path>
"同时在两个分支上工作"git_ops.pyworktree <path> --add ../dir feature
"在仓库里搜索某个函数/变量"git_ops.pygrep <path> "functionName"
"把某个提交应用到我当前分支"git_ops.pycherry-pick <path> <commit>
"安全撤销某个已经 push 的提交"git_ops.pyrevert <path> <commit>
"自动定位哪个 commit 引入了 bug"git_ops.pybisect <path> --start HEAD v1.0.0
"为仓库启用 LFS 并跟踪大文件"git_lfs.py--install --track "*.zip" "*.psd"

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.84%
按下载量换算727

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills