qcc-git

Use for Git workflow, branch strategy, and commit conventions in qcc_plus project

$ Instalar

git clone https://github.com/yxhpy/qcc_plus /tmp/qcc_plus && cp -r /tmp/qcc_plus/.claude/skills/qcc-git ~/.claude/skills/qcc_plus

// tip: Run this command in your terminal to install the skill


name: qcc-git description: Use for Git workflow, branch strategy, and commit conventions in qcc_plus project

QCC Plus Git 工作流

分支策略(强制)

强制规则: 所有开发工作必须在 test 分支进行,编写代码前必须确认当前分支。

分支用途说明
test日常开发✅ 在这里开发,推送后自动部署到测试环境(端口 8001)
main正式发布合并测试通过的代码,用于打 tag 发布版本
prod生产部署部署到生产服务器(端口 8000)

编写代码前检查

# 确认在 test 分支
git branch --show-current

# 如不在 test 分支
git checkout test

工作流程

# 1. 开发
git checkout test
# 编写代码
git push origin test

# 2. 发布
git checkout main
git merge test
git tag vX.Y.Z
git push origin vX.Y.Z

# 3. 部署
git checkout prod
git merge main
git push origin prod

Commit 格式

使用 Conventional Commits 格式:type: description

类型说明版本影响
feat新功能minor 升级
fixBug 修复patch 升级
feat! / fix!重大变更major 升级
docs文档更新不触发
refactor代码重构不触发
test测试相关不触发
chore构建/工具不包含在 CHANGELOG

示例

feat: 添加健康检查 API 端点
fix: 修复节点切换延迟问题
docs: 更新 CLAUDE.md 文档结构
feat!: 重构 API 接口,移除 v1 兼容性

提交规范

Git 安全协议

  • 永不更新 git config
  • 永不运行破坏性命令(如 push --force, hard reset)除非用户明确请求
  • 永不跳过 hooks(--no-verify, --no-gpg-sign)除非用户明确请求
  • 永不强制推送到 main/master
  • 避免 git commit --amend,仅在用户明确请求或添加 pre-commit hook 的编辑时使用
  • 修改前总是检查作者:git log -1 --format='%an %ae'
  • 永不提交更改除非用户明确要求

提交消息格式

使用 HEREDOC 确保格式正确:

git commit -m "$(cat <<'EOF'
Commit message here.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"

质量保证

测试要求

  • 核心业务逻辑必须有单元测试
  • 使用真实数据测试,避免过度 mock
  • 测试边界条件和错误场景
  • 使用 go test -race 检测竞态条件

代码审查

  • 所有合并到 main 的代码必须经过审查
  • 检查错误处理是否完善
  • 检查是否有资源泄漏(goroutine、文件句柄)
  • 检查并发安全性