git-workflow
SKILL.md
Git 工作流指南
通用模板。如果项目有专属技能(如
leniu-git-workflow),优先使用。
核心规范
分支策略(Git Flow)
main (production)
│
├── hotfix/fix-payment-bug ← 紧急修复,从 main 拉出
│
develop (integration)
│
├── feature/order-export ← 功能开发,从 develop 拉出
├── feature/user-profile ← 并行开发
│
└── release/v1.2.0 ← 发布准备,从 develop 拉出
| 分支类型 | 来源 | 合并目标 | 命名 |
|---|---|---|---|
main |
- | - | main |
develop |
main |
main |
develop |
feature/* |
develop |
develop |
feature/功能描述 |
release/* |
develop |
main + develop |
release/v1.x.x |
hotfix/* |
main |
main + develop |
hotfix/问题描述 |
简化策略(GitHub Flow,适合小团队)
main
├── feature/order-export
├── fix/login-error
└── chore/upgrade-deps
- 只有
main一个长期分支 - 所有开发从
main拉分支,完成后通过 PR 合并回main
提交规范(Conventional Commits)
<type>(<scope>): <subject>
| type | 说明 | 示例 |
|---|---|---|
feat |
新功能 | feat(order): 新增订单导出 |
fix |
修复 Bug | fix(auth): 修复 token 过期未刷新 |
docs |
文档 | docs: 更新 API 文档 |
style |
格式 | style: 统一缩进为 4 空格 |
refactor |
重构 | refactor(user): 拆分用户服务 |
perf |
性能 | perf(query): 优化列表查询 N+1 |
test |
测试 | test(order): 补充订单创建单测 |
chore |
构建/工具 | chore: 升级 Spring Boot 3.2 |
ci |
CI/CD | ci: 添加 GitHub Actions 流水线 |
规则:
- subject 使用中文或英文,但全项目统一
- 不超过 72 字符
- 不以句号结尾
- 使用祈使语气("添加"而非"添加了")
提交行为规范
- 只提交当前会话的改动:精确
git add修改的文件,不要git add . - 不提交配置文件:排除
.env*、application-*.yml等环境配置 - 默认只提交到本地:执行
git add+git commit,不自动 push - 明确指定才推送:只有用户明确说"推送"、"push"时才执行
git push
代码示例
常用 Git 操作
# 创建功能分支
git checkout develop
git pull origin develop
git checkout -b feature/order-export
# 开发完成,合并前更新
git fetch origin
git rebase origin/develop
# 解决冲突后继续
git add .
git rebase --continue
# 推送并创建 PR
git push -u origin feature/order-export
gh pr create --base develop --title "feat(order): 新增订单导出功能"
常用 Git 修复操作
# 修改最后一次提交信息
git commit --amend -m "fix(order): 修复订单金额计算"
# 撤销最后一次提交(保留修改)
git reset --soft HEAD~1
# 暂存当前修改
git stash
git stash pop
# 挑选某个提交到当前分支
git cherry-pick <commit-hash>
# 查看某个文件的修改历史
git log --oneline -20 -- path/to/file
PR / Code Review 规范
- PR 大小:单个 PR 不超过 400 行变更(不含自动生成代码)
- PR 描述:说明改了什么、为什么改、如何测试
- 自查清单:
- 代码能编译通过
- 新功能有对应测试
- 没有遗留 TODO / 调试代码
- 数据库变更有迁移脚本
- Review 要点:
- 逻辑正确性 > 代码风格
- 关注边界条件和异常处理
- 检查安全隐患(SQL 注入、XSS 等)
.gitignore 推荐配置
# IDE
.idea/
*.iml
.vscode/
*.swp
# Build
target/
build/
dist/
node_modules/
# Environment
.env
.env.local
*.local
# OS
.DS_Store
Thumbs.db
# Logs
*.log
logs/
常见错误
| 错误 | 正确做法 |
|---|---|
| 直接在 main 上开发 | 创建功能分支 |
| 提交信息写"update"、"fix bug" | 按 Conventional Commits 规范 |
| 一个 PR 包含多个不相关改动 | 拆分为多个 PR |
git push --force 到公共分支 |
只对个人分支 force push |
| 提交 .env、密钥文件 | 加入 .gitignore |
| merge 前不更新目标分支 | 先 rebase/merge 最新代码 |
| 忽略 CI 失败直接合并 | 修复 CI 后再合并 |
git add . 一把梭 |
精确添加修改的业务文件 |
Weekly Installs
2
Repository
xu-cell/ai-engi…ing-initGitHub Stars
8
First Seen
7 days ago
Security Audits
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2