with one click
chinese-git-workflow
适配国内 Git 平台和团队习惯的工作流规范——Gitee、Coding、极狐 GitLab 全覆盖
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
适配国内 Git 平台和团队习惯的工作流规范——Gitee、Coding、极狐 GitLab 全覆盖
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
在任何创造性工作之前必须使用此技能——创建功能、构建组件、添加功能或修改行为。在实现之前先探索用户意图、需求和设计。
中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈
中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化
中文技术文档写作规范——排版、术语、结构一步到位,告别机翻味
当实现完成、所有测试通过、需要决定如何集成工作时使用——通过提供合并、PR 或清理等结构化选项来引导开发工作的收尾
完成任务、实现重要功能或合并前使用,用于验证工作成果是否符合要求
| name | chinese-git-workflow |
| description | 适配国内 Git 平台和团队习惯的工作流规范——Gitee、Coding、极狐 GitLab 全覆盖 |
国内团队用 Git 经常踩的坑:GitHub 访问不稳定、CI/CD 方案照搬国外水土不服、commit message 中英混杂没有规范。本技能提供一套完整适配国内平台和团队习惯的 Git 工作流。
核心原则: 工作流服务于团队效率,不是为了流程而流程。选适合团队规模的,别硬套大厂方案。
| 特性 | Gitee | Coding.net | 极狐 GitLab | GitHub |
|---|---|---|---|---|
| 国内访问 | 快 | 快 | 快 | 不稳定 |
| 免费私有仓库 | 有 | 有 | 有 | 有 |
| CI/CD | Gitee Go | Coding CI | 内置 GitLab CI | GitHub Actions |
| 代码审查 | PR | MR | MR | PR |
| 制品库 | 有限 | 完整 | 完整 | Packages |
| 适合场景 | 开源/小团队 | 中大型团队 | 企业私有化 | 国际项目 |
# 设置 Gitee 远程仓库
git remote add origin https://gitee.com/<org>/<repo>.git
# Gitee 的 SSH 配置
# ~/.ssh/config
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/gitee_rsa
PreferredAuthentications publickey
# 同时推送到 Gitee 和 GitHub(镜像同步)
git remote set-url --add --push origin https://gitee.com/<org>/<repo>.git
git remote set-url --add --push origin https://github.com/<org>/<repo>.git
# Coding 的仓库地址格式
git remote add origin https://e.coding.net/<team>/<project>/<repo>.git
# Coding 支持的 SSH 地址
git remote add origin git@e.coding.net:<team>/<project>/<repo>.git
# 极狐 GitLab 私有化部署常见地址格式
git remote add origin https://jihulab.com/<group>/<repo>.git
# 或者企业内部部署
git remote add origin https://gitlab.yourcompany.com/<group>/<repo>.git
适合: 小团队(2-8 人)、迭代速度快、有完善的自动化测试。
main ──●──●──●──●──●──●──●──●──●──
\ / \ / \ /
feat/x ●─● ●─● fix/y ●─●
(短命分支,1-2 天内合回)
规则:
# 从 main 拉分支
git checkout -b feat/user-login main
# 开发完成后,rebase 到最新 main
git fetch origin
git rebase origin/main
# 提交 PR/MR,合并后删除分支
适合: 中大团队、版本发布节奏固定(如双周迭代)、需要维护多个版本。
main ──●────────────────●────────────── 生产环境
\ / \
release ●──●──●──●──● ●──●──●──●── 发布分支
\ /
develop ──●──●──●──●──●──●──●──●──●──●── 开发主线
\ / \ /
feat/x ●─● ●─────● 功能分支
\ /
fix/y ●─● 修复分支
分支说明:
main — 生产环境代码,只接受 release 和 hotfix 的合并develop — 开发主线,功能分支从这里拉出,合回这里release/* — 发布分支,从 develop 拉出,只修 bug 不加功能feat/* — 功能分支hotfix/* — 紧急修复,从 main 拉出,同时合回 main 和 develop适合: 大多数国内中小团队的实际情况。
main ──●──────●──────●──── 生产环境(受保护)
\ / \ /
dev ──●──●─●──●──●─●──── 开发/测试环境
\ / \ /
feat/x ●● ●● 功能分支
规则:
main 分支受保护,只能通过 PR/MR 合并dev 分支对应测试环境,自动部署dev 拉出,合回 devdev 测试通过后,合并到 main 进行发布# 功能分支
feat/user-login # 新功能
feat/JIRA-1234-order-refund # 关联任务编号
# 修复分支
fix/payment-callback # Bug 修复
fix/JIRA-5678-null-pointer # 关联 Bug 编号
# 发布分支
release/v2.1.0 # 版本发布
release/2024-03-sprint # 按迭代命名
# 紧急修复
hotfix/v2.0.1 # 线上紧急修复
hotfix/fix-login-crash # 描述性命名
# 个人分支(部分团队使用)
dev/zhangsan/feat-login # 个人开发分支
- 连接单词(不用下划线或驼峰)feat/、fix/、hotfix/、release/feat/TAPD-12345-description<类型>(<范围>): <简要描述>
← 空行
<正文(可选)>
← 空行
<脚注(可选)>
| 类型 | 说明 | emoji(可选) |
|---|---|---|
| feat | 新增功能 | ✨ |
| fix | 修复 Bug | 🐛 |
| docs | 文档更新 | 📝 |
| style | 代码格式(不影响逻辑) | 💄 |
| refactor | 重构(不是新功能也不是修 Bug) | ♻️ |
| perf | 性能优化 | ⚡ |
| test | 测试相关 | ✅ |
| build | 构建系统或外部依赖 | 📦 |
| ci | CI/CD 配置 | 👷 |
| chore | 其他杂项 | 🔧 |
| revert | 回滚 | ⏪ |
feat(购物车): 支持批量删除商品
- 新增全选/反选功能
- 删除操作增加二次确认弹窗
- 批量删除接口使用 POST /cart/batch-delete
关联需求:TAPD-12345
fix(支付): 修复微信支付在 iOS 16 上无法唤起的问题
原因:微信 SDK 8.0.33 版本在 iOS 16 上 Universal Links 校验逻辑变更,
导致 openURL 回调失败。
方案:升级 SDK 至 8.0.38,并更新 Associated Domains 配置。
Closes #567
# 太笼统
update code
fix bug
修改了一些东西
# 没有上下文
fix: 修复问题
feat: 新增功能
# 中英混杂无规范
fix:修复了一个bug,因为user login的时候会crash
# .gitee/pipelines/pipeline.yml
name: 构建与测试
displayName: '构建与测试流水线'
triggers:
push:
branches:
include:
- main
- dev
stages:
- name: 测试
jobs:
- name: 单元测试
steps:
- step: npmbuild@1
name: install_and_test
displayName: '安装依赖并执行测试'
inputs:
nodeVersion: 20
commands:
- npm ci
- npm test
// Jenkinsfile(Coding CI 支持 Jenkinsfile 语法)
pipeline {
agent any
stages {
stage('安装依赖') {
steps {
sh 'npm ci'
}
}
stage('单元测试') {
steps {
sh 'npm test'
}
}
stage('构建') {
steps {
sh 'npm run build'
}
}
stage('部署到测试环境') {
when {
branch 'dev'
}
steps {
sh './scripts/deploy-staging.sh'
}
}
stage('部署到生产环境') {
when {
branch 'main'
}
steps {
sh './scripts/deploy-production.sh'
}
}
}
post {
failure {
// 企业微信/钉钉通知
sh './scripts/notify-failure.sh'
}
}
}
# .gitlab-ci.yml
stages:
- test
- build
- deploy
variables:
NODE_IMAGE: node:20-alpine
# 使用国内镜像加速
NPM_REGISTRY: https://registry.npmmirror.com
单元测试:
stage: test
image: $NODE_IMAGE
script:
- npm config set registry $NPM_REGISTRY
- npm ci
- npm test
coverage: '/Lines\s*:\s*(\d+\.?\d*)%/'
构建:
stage: build
image: $NODE_IMAGE
script:
- npm config set registry $NPM_REGISTRY
- npm ci
- npm run build
artifacts:
paths:
- dist/
部署测试环境:
stage: deploy
script:
- ./scripts/deploy-staging.sh
only:
- dev
environment:
name: staging
部署生产环境:
stage: deploy
script:
- ./scripts/deploy-production.sh
only:
- main
environment:
name: production
when: manual # 生产环境手动触发
| GitHub Actions 功能 | Gitee Go | Coding CI | 极狐 GitLab CI |
|---|---|---|---|
| 触发条件 | triggers | Jenkinsfile triggers | only/rules |
| 缓存依赖 | cache step | stash/unstash | cache |
| 制品存储 | artifacts | 制品库 | artifacts |
| 环境变量 | env | environment | variables |
| 密钥管理 | 环境变量配置 | 凭据管理 | CI/CD Variables |
| 手动触发 | 手动运行 | 手动触发 | when: manual |
在仓库中创建 PR/MR 模板文件:
Gitee: .gitee/PULL_REQUEST_TEMPLATE.md
Coding / GitLab: .gitlab/merge_request_templates/default.md
## 变更说明
<!-- 简要描述这次改动做了什么,解决了什么问题 -->
## 变更类型
- [ ] 新功能(feat)
- [ ] Bug 修复(fix)
- [ ] 重构(refactor)
- [ ] 性能优化(perf)
- [ ] 文档更新(docs)
- [ ] 其他:
## 关联信息
- 需求/Bug 链接:
- 设计文档:
## 改动范围
<!-- 列出主要改动的模块和文件 -->
## 测试情况
- [ ] 单元测试通过
- [ ] 手动测试通过
- [ ] 相关模块回归测试通过
## 测试方法
<!-- 描述如何验证这次改动 -->
## 影响范围
<!-- 这次改动可能影响哪些功能?是否需要通知其他团队? -->
## 部署注意事项
- [ ] 需要执行数据库迁移
- [ ] 需要更新配置文件
- [ ] 需要更新环境变量
- [ ] 无特殊注意事项
## 截图/录屏
<!-- 如果涉及 UI 变更,贴截图或录屏 -->
# 设置用户信息
git config --global user.name "张三"
git config --global user.email "zhangsan@company.com"
# commit message 编辑器设置为 VS Code
git config --global core.editor "code --wait"
# 解决中文文件名显示为转义字符的问题
git config --global core.quotepath false
# 设置默认分支名
git config --global init.defaultBranch main
# 代理设置(如果需要同时使用 GitHub)
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
# NPM 使用国内镜像
npm config set registry https://registry.npmmirror.com
# IDE
.idea/
.vscode/
*.swp
# 依赖
node_modules/
vendor/
# 构建产物
dist/
build/
*.exe
# 环境配置
.env
.env.local
.env.*.local
# 系统文件
.DS_Store
Thumbs.db
desktop.ini
# 国内平台特有
.coding/
在推送代码前,确认: