编程

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

快速开始

  1. 阅读## 核心能力章节了解skill功能
  2. 按## 依赖说明配置环境
  3. 执行所需能力对应的命令
  4. 参考## 错误处理章节处理异常
  5. 查看## 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

优选实践

  1. 大型仓库优先使用稀疏检出:减少克隆时间和磁盘占用

  2. 子树优先于子模块:子树对协作者更友好,无需额外命令

  3. 全局启用 rerere:避免重复解决相同冲突

本技能的核心实现逻辑

请参考上方使用说明进行配置和调用

echo "implementation_ready"


4. **使用 diff3 冲突样式**:显示三方信息便于理解
   ```bash
# 本技能的核心实现逻辑
# 请参考上方使用说明进行配置和调用
echo "implementation_ready"
  1. 部分克隆优化大仓库:按需获取历史

    git clone --filter=blob:none 
    
  2. 定期清理子模块:避免过期引用

    git submodule update --init --recursive
    
  3. 使用 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 APIAPI必需由 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 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

Git 进阶操作助手,涵盖交互式变基、二分查找、工作树与引用日志恢复。Use when 需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于需要100%确定性的关键决策。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

1 次安装

Git 分支管理、冲突解决与提交规范助手,覆盖个人开发者日常版本控制场景。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 次安装

面向企业研发团队的高级Git命令行工具,提供自动化脚本、深度仓库诊断、工作流模板、故障排除与批量操作能力。核心能力: - Git自动化脚本库 - 深度仓库诊断与分析 - 标准化工作流模板 - 故障排除与恢复 - 批量Git操作 - 多仓库管理 适用场景: - 企业级Git工作流自动化 - 仓库健康诊断 - 团队标准化操作 - 复杂故障排除 差异化: - 专业版完全兼容免费版命令,支持平滑升级 - 提供自动化脚本和批量操作 - 内置深度诊断和工作流模板 - 支持多仓库统一管理 ...

Git高级操作:smart-commit/rebase/bisect/worktree/reflog/conflict-resolution/submodule/PR流程

面向研发团队的高级Git版本控制工具,包含交互式变基、历史重写、子模块成批管控、仓库性能调优与团队协作工作流。核心能力:. 用于需要git。适用于独立开发者、企业团队和自动化工作流场景,提供结构化输出与错误处理机制,支持中文交互,即开即用 功能涵盖: es。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。 功能涵盖: essentials。