git-workflow

star 177

Git工作流规范,分支策略和提交规范

WenJunDuan By WenJunDuan schedule Updated 2/9/2026

name: git-workflow description: Git工作流规范,分支策略和提交规范 trigger: 代码修改完成后

Git Workflow Skill

版本控制是工程的基石 清晰的提交历史 = 可追溯的项目演进


🌿 分支策略

标准分支

分支 用途 保护
main 生产代码 ✅ 保护
develop 开发主线 ✅ 保护
feature/* 功能开发
bugfix/* Bug修复
hotfix/* 紧急修复
release/* 发布准备

分支命名

# 功能分支
feature/user-authentication
feature/payment-integration

# Bug修复
bugfix/login-redirect-issue
bugfix/memory-leak

# 热修复
hotfix/critical-security-patch

分支流程

main ──────────────────────────────────────────────▶
  │                                    ↑
  └──▶ develop ────────────────────────┼───────────▶
          │         ↑        ↑         │
          └──▶ feature/xxx ──┘         │
                                       │
          └──▶ bugfix/xxx ─────────────┘

📝 提交规范

Conventional Commits

<type>(<scope>): <subject>

<body>

<footer>

Type 类型

Type 用途
feat 新功能
fix Bug修复
docs 文档更新
style 格式调整(不影响代码)
refactor 重构
perf 性能优化
test 测试相关
chore 构建/工具相关

示例

# 简单提交
feat(auth): add login validation

# 带body
fix(api): handle null response from server

The API sometimes returns null instead of empty array.
Added null check to prevent crash.

# 带breaking change
feat(db)!: change user schema

BREAKING CHANGE: user.name is now split into firstName and lastName

提交检查清单

  • 提交信息是否清晰?
  • 是否只包含相关修改?
  • 是否需要拆分成多个提交?
  • 是否影响现有功能?

🔄 工作流程

1. 开始新功能

# 1. 从 develop 创建分支
git checkout develop
git pull origin develop
git checkout -b feature/user-profile

# 2. 开发...

# 3. 提交
git add .
git commit -m "feat(profile): add user avatar upload"

# 4. 推送
git push origin feature/user-profile

# 5. 创建 PR/MR

2. 修复 Bug

# 1. 从 develop 创建分支
git checkout -b bugfix/login-issue develop

# 2. 修复...

# 3. 提交
git commit -m "fix(auth): handle expired token correctly"

# 4. 合并回 develop
git checkout develop
git merge bugfix/login-issue

3. 紧急修复

# 1. 从 main 创建
git checkout -b hotfix/security-patch main

# 2. 修复...

# 3. 合并到 main 和 develop
git checkout main
git merge hotfix/security-patch
git checkout develop
git merge hotfix/security-patch

🔙 回滚策略

回滚单个提交

# 创建新提交来撤销
git revert <commit-hash>

回滚到特定版本

# 软回滚(保留修改)
git reset --soft <commit-hash>

# 硬回滚(丢弃修改)
git reset --hard <commit-hash>

回滚合并

git revert -m 1 <merge-commit-hash>

📋 PR/MR 检查清单

创建 Pull Request 前:

  • 代码已本地测试
  • 提交历史清晰
  • 无调试代码(console.log)
  • 已更新文档(如需要)
  • 已添加测试(如需要)
  • 符合代码规范

PR 描述模板:

## 变更说明
[描述做了什么]

## 变更类型
- [ ] 新功能
- [ ] Bug修复
- [ ] 重构
- [ ] 文档

## 测试
- [ ] 单元测试通过
- [ ] 手动测试通过

## 截图(如有UI变更)
[截图]

## 相关 Issue
Closes #123

🛡️ 保护规则

main 分支

  • ❌ 禁止直接推送
  • ✅ 需要 PR 审查
  • ✅ 需要 CI 通过
  • ✅ 需要 1+ 审批

develop 分支

  • ❌ 禁止 force push
  • ✅ 需要 CI 通过

⚠️ 禁止操作

# ❌ 禁止在 main 上直接修改
git checkout main
git commit ...  # 禁止!

# ❌ 禁止 force push 保护分支
git push -f origin main  # 禁止!

# ❌ 禁止提交敏感信息
git add .env  # 检查 .gitignore!

🔗 与开发流程集成

阶段 Git 操作
P (Plan) 创建 feature 分支
E (Execute) 多次小提交
R2 (Review) 创建 PR,请求审查
通过 合并到 develop

核心: 小步提交、清晰历史、保护主干 | 规范: Conventional Commits

Install via CLI
npx skills add https://github.com/WenJunDuan/Rlues --skill git-workflow
Repository Details
star Stars 177
call_split Forks 23
navigation Branch main
article Path SKILL.md
More from Creator