mcpField
G
git-workflow

git-workflow

github.com/oakoss开发20142 次安装11 周前更新
代码仓库

关于 git-workflow

git-workflow 是面向开发团队的 Git 工作流技能,涵盖分支、提交、代码审查和 CI/CD 配置。它还提供 Git 内部机制与故障恢复的参考资料。

主要功能

  1. 01分支策略与命名规范
  2. 02Conventional Commits 提交规范
  3. 03线性历史与堆叠 PR
  4. 04模块化 GitHub Actions 工作流
  5. 05合并前检查与版本发布
  6. 06Git 内部机制与故障恢复

适用场景

  1. 01为新项目制定分支策略
  2. 02规范提交信息和 PR 流程
  3. 03配置可复用的 CI/CD 工作流
  4. 04排查冲突或恢复丢失的提交

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill git-workflow

安装后在 Claude Code 中输入/git-workflow确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
advanced-operations.md
automation-scripts.md
branching-strategies.md
conventional-commits.md
git-internals.md
github-actions.md
issue-templates.md
stacked-changes.md
trunk-based-development.md

详细介绍

Git 工作流

涵盖分支策略、约定式提交、CI/CD 自动化、仓库卫生和 Git 内部机制。GitHub CLI 的用法由单独的 github-cli 技能处理;本技能侧重于 Git 工作流模式和 CI/CD 配置。

快速参考

领域关键实践
分支采用主干开发,使用短期功能分支
提交使用约定式提交,采用祈使语气
历史通过变基保持线性历史;压缩杂乱提交
PR保持改动小而独立;避免超大型 PR
主分支始终可部署;主分支损坏时按紧急情况处理
CI/CD使用模块化 GitHub Actions 和可复用工作流
合并合并前必须通过 CI 并获得审查
版本管理使用 Semantic Release 或 Changesets(绝不手动管理)
分支生命周期最长 48 小时;自动清理过期或已合并的分支
密钥在流水线中使用 OIDC Connect;绝不硬编码令牌
签名使用 SSH 或 GPG 密钥签署提交,以验证作者身份

分支命名

类型用途示例
feat新功能feat/add-user-auth
fixBug 修复fix/login-redirect
chore维护工作chore/update-deps
docs文档docs/api-reference
refactor代码重构refactor/auth-module

约定式提交类型

类型用途版本升级
feat新功能次版本
fixBug 修复修订版本
docs仅文档无
style格式调整,不更改逻辑无
refactor既非修复也非新功能无
perf性能改进修订版本
test添加或修正测试无
build构建系统或外部依赖无
ciCI 配置变更无
chore工具、维护及非源代码变更无
revert撤销之前的提交视情况而定

对于破坏性变更,在类型/范围后添加 !(主版本升级)。

合并前检查

所有 PR 在合并前都必须完成以下检查:

  • Lint
  • 类型检查
  • 测试
  • 安全扫描
  • 审查批准(人工或自动化)

对于低风险 PR,如果流水线成功,则可以自动合并。

故障排查

问题解决方法
长期分支出现合并冲突经常变基到 main;如果剩余工作超过 48 小时,则拆分到新分支
主分支损坏按紧急情况处理;撤销导致问题的提交,然后在分支上修复
提交丢失或数据恢复使用 git reflog 和对象检查(git cat-file、git fsck)
CI 流水线失败检查可复用工作流版本;验证 OIDC 权限
变基后堆叠 PR 冲突从基准分支重新整理整个链;Graphite 可通过 gt restack 自动处理
意外提交大型文件使用 git filter-repo 从历史记录中移除(不要使用 git filter-branch)

常见错误

错误正确做法
功能分支存续时间超过 48 小时每天合并或变基;将大型工作拆分为堆叠式 PR
未启用分支保护便直接提交到 main启用分支保护规则,要求通过 CI 并完成审查
使用合并提交,导致历史记录杂乱变基并压缩提交,以保持线性历史记录
在 GitHub Actions 工作流中硬编码令牌在 CI/CD 流水线中使用 OIDC Connect 进行身份验证
在单个文件中创建庞大的 CI 工作流拆分为可复用工作流和复合操作
将 Fix bug 作为提交消息使用 fix(scope): correct bug description(符合约定)
使用 feat: Added feature(过去时)使用 feat: add feature(祈使语气,首字母小写)
使用 git filter-branch 重写历史记录使用 git filter-repo(速度更快、更安全,且为官方推荐)
直接推送到 main先创建功能分支
在共享仓库中提交未签名的提交使用 SSH 或 GPG 密钥配置提交签名

委派

  • 审查仓库的分支管理规范性和陈旧分支:使用 Explore Agent 列出并分类分支的存续时间和合并状态
  • 使用可复用工作流搭建 CI/CD 流水线:使用 Task Agent 创建模块化的 GitHub Actions 配置
  • 为新项目设计分支策略:使用 Plan Agent,根据团队需求评估主干开发与 Git Flow

参考资料

评论

支持 Markdown