Agent Skills
返回列表
💻

Git 版本控制

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/version-control。

技能介绍

这个技能解决什么问题

在多人协作的代码库里,AI 代理往往只会执行单条命令,很少先判断仓库状态再动手。结果是提交历史被拆成一堆 fix、wip,分支列表堆满合并后没人清理的 feat/tmp-test,冲突文件里还留着编辑器生成的多余标记。更麻烦的是,代理可能在 detached HEAD 下直接提交,或者用 git reset --hard 覆盖同事刚推的工作。

Git 版本控制 技能把 Git 操作从「会执行命令」升级为「按工程规范做版本管理」,适用于日常工作流和团队级协作场景。

核心能力与工作方式

  • 先评估仓库状态:在执行任何破坏性操作前,先跑 git status、git log --oneline -10 和 git branch -a,确认当前分支、未提交改动、近期历史和可用远程。上下文不清时不会贸然提交或推送。
  • 原子提交与提交规范:把相关改动归入一次提交,标题不超过 50 字符;非平凡改动补一段正文说明原因与影响。如果项目已有 Conventional Commits 或 Angular 风格约定,会沿用而不是另起炉灶。
  • 分支策略:从正确的基线切出 feat/、fix/、release/ 分支,合并完成后删除陈旧分支,保持分支列表干净。支持 GitFlow、GitHub Flow 和 trunk-based development。
  • 远程同步与冲突处理:首次推送用 git push -u 建立追踪;合并前把基线分支并入特性分支,让冲突在隔离环境中提前暴露。遇到冲突时会先阅读双方改动,选出正确结果(或合并两者),git add 标记解决,再跑测试确认。
  • 自动化与质量门禁:配置 pre-commit、commit-msg、pre-push 钩子配合 Husky、pre-commit、Lefthook;完善 .gitignore 覆盖构建产物、环境文件与系统元数据;串联 CI 在每次推送时强制执行质量检查。
  • 安全护栏:执行 reset --hard、push --force、rebase 等改写历史的操作前,代理会先验证状态并与你确认。

适用边界与注意点

  • 大文件不适合直接入库:图片、模型权重、视频应走 Git LFS,并添加对应的 tracking rules。
  • 浅克隆历史操作受限:--depth 1 克隆下 blame、log、bisect 可能报错,需要先 git fetch --unshallow。
  • 子模块与 monorepo:子模块项目要确保 git submodule update --init --recursive 在初始化流程里;monorepo 提交时需尊重各包的改动边界。
  • 密钥泄漏防护:首次提交前就把 .env、凭据和私钥写进 .gitignore,可配合 git-secrets 或 trufflehog 扫描。
  • 强制推送共享分支:团队协作中应使用 --force-with-lease,并先与成员确认,避免覆盖他人工作。
  • 发布可追溯:生产发布打附注标签 git tag -a v1.2.0 -m "Release 1.2.0",部署代码即可回溯到具体 commit。

使用场景

  • 多人协作仓库中,main分支与功能分支同时修改同一文件导致合并冲突,需要检查冲突、选择正确方案并完成合并
  • 团队引入新模块,需要从main切出feat分支,按约定式提交规范分步提交相关改动
  • 项目首次加入Git管理,需要配置.gitignore排除构建产物和环境文件,并初始化仓库结构
  • 共享分支被同事强制推送后本地历史分叉,需要在确认无本地工作丢失后与远程同步

适合人员

  • 需要在团队仓库中处理合并冲突、遵循分支策略的后端开发工程师
  • 负责配置Git钩子和CI流水线、保障提交质量的DevOps工程师
  • 希望AI代理能安全执行Git操作、避免破坏历史的全栈开发者
  • 管理团队代码审查流程、需要标准化提交规范的技术负责人