面向团队协作与企业研发场景的 Git 工作流专业工具。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
编程
Git高级操作专业版
试用面向企业级研发团队的 Git 进阶操作专业工具。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
它能做什么
面向企业级研发团队的 Git 进阶操作专业工具。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
技能文档
功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
Git 高级操作助手(专业版)
概述
本工具面向企业级研发团队,提供大型仓库管理与复杂冲突处理的专业方案。在免费版交互式变基、二分查找、工作树、引用日志恢复等能力之上,专业版新增子树与子模块管理、稀疏检出优化、冲突自动记忆(rerere)、批量樱桃挑选与跨仓库提交迁移、blame 考古分析等高级功能。通过结构化的策略选择与自动化脚本,帮助团队高效管理大型代码仓库,降低协作复杂度.
版本兼容性说明:专业版完全兼容免费版(git-workflows-tool-free)的所有命令与操作,可无缝升级.
核心能力
| 能力模块 | 免费版 | 专业版新增 |
|---|---|---|
| 交互式变基 | 完整支持 | 自动化变基策略 + 团队规范 |
| 二分查找 | 手动 + 脚本 | 批量缺陷定位 + 构建跳过策略 |
| 工作树 | 基础创建/删除 | 工作树批量管理与代码审查工作流 |
| 冲突解决 | 手动解决 | rerere 自动记忆 + 三方对比 |
| 仓库管理 | - | 子树/子模块完整方案 |
| 大仓库优化 | - | 稀疏检出 + 部分克隆 |
| 批量操作 | - | 批量樱桃挑选 + 跨仓库迁移 |
| 代码考古 | 基础 log/blame | 深度 blame 分析 + pickaxe 搜索 |
核心功能执行
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
参数配置与调用
用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
config_options参数,支持修改/重置/导入操作
结果处理与输出
用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:企业级、Git、进阶方案、支持子树子模块、大型单体仓库与冲、突自动记忆、面向企业级研发团、进阶操作专业工具、Use、when、需要提升效率、自动化流程、批量处理、工作流优化时使用、不适用于需要人工、创意判断的任务、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
场景一:大型单体仓库稀疏检出
团队维护一个大型单体仓库,开发者只需要关注自己负责的模块.
用户:我们的 monorepo 太大了,每次克隆都很慢,怎么优化
# ...
助手:使用稀疏检出 + 部分克隆
# ...
1. 部分克隆(不下载完整历史)
git clone --filter=blob:none --sparse https://repo.example.com/monorepo.git
cd monorepo
# ...
2. 设置需要检出的目录
git sparse-checkout set packages/my-service packages/shared-lib
# ...
3. 添加额外需要的目录
git sparse-checkout add packages/another-lib
# ...
4. 查看当前稀疏检出配置
git sparse-checkout list
# ...
5. 如需检出全部
git sparse-checkout disable
# ...
6. 另一种方式:无检出克隆
git clone --no-checkout https://repo.example.com/monorepo.git
cd monorepo
git sparse-checkout set packages/my-service
git checkout main
场景二:子树与子模块管理共享代码
团队有多个项目需要共享一个公共库,需要选择合适的管理策略.
# ============ 子树方案(推荐:代码直接嵌入)============
# ...
# 添加子树
git subtree add --prefix=lib/shared https://repo.example.com/shared-lib.git main --squash
# ...
# 拉取子树更新
git subtree pull --prefix=lib/shared https://repo.example.com/shared-lib.git main --squash
# ...
# 推送子树修改
git subtree push --prefix=lib/shared https://repo.example.com/shared-lib.git main
# ...
# 拆分子树为独立分支
git subtree split --prefix=lib/shared -b shared-lib-standalone
# ...
# ============ 子模块方案(指针引用)============
# ...
# 添加子模块
git submodule add https://repo.example.com/shared-lib.git lib/shared
# ...
# 克隆含子模块的仓库
git clone --recurse-submodules https://repo.example.com/main-repo.git
# ...
# 初始化已有仓库的子模块
git submodule update --init --recursive
# ...
# 更新子模块到最新
git submodule update --remote
# ...
# 删除子模块
git rm lib/shared
rm -rf .git/modules/lib/shared
子树 vs 子模块选择策略:
| 特性 | 子树(subtree) | 子模块(submodule) |
|---|---|---|
| 代码存储 | 直接嵌入仓库 | 指针引用外部仓库 |
| 克隆体验 | 开箱即用 | 需额外初始化命令 |
| 仓库体积 | 较大 | 较小 |
| 独立性 | 弱 | 强 |
| 适用场景 | 共享库、第三方代码 | 大依赖、独立发布周期 |
| 协作复杂度 | 低 | 高 |
场景三:冲突自动记忆与批量解决
团队频繁遇到相同冲突,需要自动化冲突解决流程.
# 1. 全局启用 rerere(冲突自动记忆)
git config --global rerere.enabled true
# ...
# 2. 首次解决冲突时 Git 自动记录方案
git merge feature/complex
# 出现冲突...
# 手动解决...
git add .
git commit
# Git 输出: Recorded resolution for 'path/to/file.ts'
# ...
# 3. 再次遇到相同冲突时自动应用
git merge another-feature
# Git 输出: Resolved 'path/to/file.ts' using previous resolution
# ...
# 4. 查看 rerere 状态
git rerere diff
ls .git/rr-cache/
# ...
# 5. 忘记指定文件的方案
git rerere forget path/to/file.ts
# ...
# 6. 三方对比解决复杂冲突
git show :1:path/to/file.ts # 共同祖先版本
git show :2:path/to/file.ts # 当前分支版本(ours)
git show :3:path/to/file.ts # 合并分支版本(theirs)
# ...
# 7. 批量采用某一方的版本
git checkout --ours path/to/file.ts # 采用当前版本
git checkout --theirs path/to/file.ts # 采用合并版本
git add path/to/file.ts
快速开始
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
企业级 Git 配置
# 启用冲突自动记忆
# ...
# 启用部分克隆支持
git config --global feature.experimental true
# ...
# 配置合并工具
git config --global merge.tool vscode
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
# ...
# 配置 fetch 时自动清理
git config --global fetch.prune true
# ...
# 配置 diff 算法
git config --global diff.algorithm patience
# ...
# 配置合并策略
子模块批量管理脚本
# 批量更新所有子模块
git submodule foreach 'git pull origin main'
# ...
# 批量查看子模块状态
git submodule status
# ...
# 批量初始化并更新
git submodule update --init --recursive
# ...
# 批量切换子模块分支
git submodule foreach 'git checkout main'
# ...
# 批量拉取子模块最新代码
git submodule update --remote --merge
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
示例
稀疏检出配置文件
# 锥形模式(推荐:按目录匹配)
git sparse-checkout init --cone
git sparse-checkout set packages/web packages/api packages/shared
# ...
# 非锥形模式(按模式匹配)
# .git/info/sparse-checkout 文件内容:
# packages/web/*
# packages/api/*
# docs/*.md
暂存高级模式
# 部分文件暂存
git stash push -m "WIP: 重构认证流程" -- src/auth.ts src/login.ts
# ...
# 包含未追踪文件
git stash push -u -m "包含新文件"
# ...
# 查看暂存内容
git stash show -p stash@{0}
# ...
# 从暂存创建分支
git stash branch new-feature stash@{0}
# ...
# 交互式暂存
git stash push -p
blame 与代码考古
# 查看文件每行最后修改者
git blame src/auth.ts
# ...
# 指定行范围
git blame -L 50,70 src/auth.ts
# ...
# 忽略空白差异
git blame -w src/auth.ts
# ...
# 检测代码移动
git blame -M src/auth.ts
# ...
# 检测跨文件移动
git blame -C src/auth.ts
# ...
# 查找字符串添加/删除的提交
git log -S "function oldName" --oneline
# ...
# 查看文件完整历史(含重命名)
git log --follow --oneline -- src/auth.ts
# ...
# 查看提交的文件变更统计
git log --stat --oneline -20
优选实践
-
大型仓库优先使用稀疏检出:减少克隆时间和磁盘占用
-
子树优先于子模块:子树对协作者更友好,无需额外命令
-
全局启用 rerere:避免重复解决相同冲突
本技能的核心实现逻辑
请参考上方使用说明进行配置和调用
echo "implementation_ready"
4. **使用 diff3 冲突样式**:显示三方信息便于理解
```bash
# 本技能的核心实现逻辑
# 请参考上方使用说明进行配置和调用
echo "implementation_ready"
-
部分克隆优化大仓库:按需获取历史
git clone --filter=blob:none -
定期清理子模块:避免过期引用
git submodule update --init --recursive -
使用 pickaxe 定位变更:
git log -S快速找到函数添加/删除的提交
常见问题
Q1:稀疏检出后如何添加新目录?
git sparse-checkout add packages/new-module
Q2:子模块更新后其他成员如何同步?
# 拉取子模块指针变更
git pull origin main
# ...
# 同步子模块到指针指向的提交
git submodule update --init --recursive
Q3:rerere 记录了错误的解决方案怎么办?
# 忘记指定文件的方案
# ...
# 清除所有记忆
rm -rf .git/rr-cache/
Q4:如何将一个目录拆分为独立仓库?
# 使用子树拆分
git subtree split --prefix=lib/shared -b shared-standalone
# ...
# 推送到新仓库
git push https://repo.example.com/new-repo.git shared-standalone:main
Q5:部分克隆后如何获取完整历史?
# 获取指定文件的历史
git fetch --filter=blob:none origin
# ...
# 或完全取消过滤
git config --unset remote.origin.partialclonefilter
git fetch --unshallow
Q6:如何批量樱桃挑选一系列提交?
# 挑选连续范围
git cherry-pick abc123..ghi789
# ...
# 挑选多个不连续提交
git cherry-pick abc123 def456 ghi789
# ...
# 跨仓库挑选
git remote add upstream https://repo.example.com/other.git
git fetch upstream
git cherry-pick upstream/main~3
Q7:如何查看子模块的具体提交?
# 查看子模块指针
git ls-tree HEAD lib/shared
# ...
# 查看子模块差异
git diff --submodule
依赖说明
运行环境
- Agent 平台: 支持读取 SKILL.md 的任意 AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
- 操作系统: Windows / macOS / Linux
- Git 版本: 建议 2.25 及以上(需支持 sparse-checkout cone 模式、partial clone)
依赖详情
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Git | 命令行工具 | 必需 | 系统包管理器安装 |
| git-subtree | 内置工具 | 可选 | Git 2.7+ 内置 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
API Key 配置
- 本工具为纯 Markdown 指令驱动,无需额外 API Key
- 子模块和子树操作需要对应仓库的访问权限(SSH Key 或令牌)
可用性分类
- 分类: MD+EXEC(Markdown 指令 + 命令行执行)
- 说明: 通过自然语言指令驱动 Agent 执行 Git 高级操作,专业版功能依赖较新版本的 Git 和命令行执行能力
错误处理
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
已知限制
- 需LLM支持,无LLM环境不可用
- 复杂业务场景建议结合人工经验判断
- 执行效率受模型能力与网络环境影响
输出格式
{
"success": true,
"data": {
"result": "Git高级操作专业版处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "git workflows pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
安全注意事项
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
相关技能
Git 进阶操作助手,涵盖交互式变基、二分查找、工作树与引用日志恢复。Use when 需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于需要100%确定性的关键决策。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
Git 分支管理、冲突解决与提交规范助手,覆盖个人开发者日常版本控制场景。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。
面向企业研发团队的高级Git命令行工具,提供自动化脚本、深度仓库诊断、工作流模板、故障排除与批量操作能力。核心能力: - Git自动化脚本库 - 深度仓库诊断与分析 - 标准化工作流模板 - 故障排除与恢复 - 批量Git操作 - 多仓库管理 适用场景: - 企业级Git工作流自动化 - 仓库健康诊断 - 团队标准化操作 - 复杂故障排除 差异化: - 专业版完全兼容免费版命令,支持平滑升级 - 提供自动化脚本和批量操作 - 内置深度诊断和工作流模板 - 支持多仓库统一管理 ...
Git高级操作:smart-commit/rebase/bisect/worktree/reflog/conflict-resolution/submodule/PR流程
面向研发团队的高级Git版本控制工具,包含交互式变基、历史重写、子模块成批管控、仓库性能调优与团队协作工作流。核心能力:. 用于需要git。适用于独立开发者、企业团队和自动化工作流场景,提供结构化输出与错误处理机制,支持中文交互,即开即用 功能涵盖: es。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。 功能涵盖: essentials。