Skip to content

贡献指南

说明

感谢你对本项目的关注!本文档介绍如何参与项目贡献,包括代码提交、Issue 反馈、PR 流程等。

开发环境搭建

  1. Fork 项目到自己的 Gitee/GitHub 账号
  2. 克隆到本地:git clone https://gitee.com/yourname/DjangoAdmin_Django_EleVue.git
  3. 参考 开发环境准备 安装依赖
  4. 创建开发分支:git checkout -b feature/your-feature

分支策略

分支用途说明
main主分支稳定版本,只接受 PR 合并
develop开发分支日常开发,功能分支从此拉取
feature/*功能分支新功能开发,完成后合并到 develop
hotfix/*修复分支紧急修复,从 main 拉取,修复后合并回 main
main ─────●─────────────●───── (发布)
           ↑             ↑
develop ──●──●──●──●──●──●───── (开发)
              ↑     ↑
feature/a ──●──●    feature/b ──●──●

Commit 规范

提交信息遵循 Conventional Commits 格式:

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

<body>

<footer>

Type 类型

类型说明示例
feat新功能feat(user): 添加用户导入功能
fix修复 bugfix(auth): 修复 Token 过期未返回 401
docs文档更新docs: 更新部署文档
style代码格式(不影响功能)style: 格式化代码
refactor重构(非新功能非修复)refactor(service): 重构分页查询逻辑
perf性能优化perf(query): 优化 N+1 查询
test测试相关test: 添加用户模块单元测试
chore构建/工具相关chore: 更新依赖版本

示例

feat(generator): 支持树形表格模板生成

- 新增 ui2/ 树形模板目录
- 自动识别 parent_id/pid 字段
- 支持 el-tree-select 组件

Closes #123

PR 流程

1. 准备工作

bash
# 1. 同步上游代码
git fetch upstream
git rebase upstream/develop

# 2. 创建功能分支
git checkout -b feature/your-feature

# 3. 开发并提交
git add .
git commit -m "feat(xxx): 添加xxx功能"

# 4. 推送到自己的仓库
git push origin feature/your-feature

2. 创建 PR

  • 标题简洁明了,遵循 Commit 规范
  • 描述清楚做了什么、为什么做、怎么测试的
  • 关联相关的 Issue(如 Closes #123
  • 附上截图或 GIF(如有 UI 变更)

3. PR 模板

markdown
## 变更说明

简要描述本次变更的内容。

## 变更类型

- [ ] 新功能 (feat)
- [ ] Bug 修复 (fix)
- [ ] 文档更新 (docs)
- [ ] 代码重构 (refactor)
- [ ] 性能优化 (perf)

## 测试情况

- [ ] 本地测试通过
- [ ] 添加了单元测试
- [ ] 手动验证了功能

## 关联 Issue

Closes #xxx

4. 代码审查

  • 至少一人审查通过后方可合并
  • 审查关注:正确性 > 安全性 > 可维护性 > 性能
  • 参考 代码审查清单

Issue 规范

Bug Report

markdown
## Bug 描述

简要描述遇到的问题。

## 复现步骤

1. 打开 xxx 页面
2. 点击 xxx 按钮
3. 输入 xxx 数据
4. 看到错误

## 期望行为

描述你期望的正确行为。

## 实际行为

描述实际发生的行为。

## 环境信息

- OS: Windows 11
- Python: 3.12
- Django: 6.0.3
- Node.js: 18.x
- Browser: Chrome 120

Feature Request

markdown
## 功能描述

简要描述你希望添加的功能。

## 使用场景

描述这个功能的使用场景和价值。

## 方案建议

如果有实现思路,请描述。

代码风格

  • Python:遵循 PEP 8,使用 Black 格式化
  • TypeScript/Vue:遵循 ESLint + Prettier 配置
  • 详见 代码风格与 Lint

文档贡献

  • 文档位于 wiki/zh/ 目录,使用 VitePress + Markdown
  • 新增功能需同步更新文档
  • 文档遵循 文档规范

行为准则

  • 尊重每一位贡献者
  • 建设性地提出意见和建议
  • 专注于对社区有益的事情
  • 不接受任何形式的骚扰

总结

贡献指南涵盖开发环境搭建、分支策略、Commit 规范、PR 流程、Issue 模板、代码风格等内容。核心原则:遵循规范、充分测试、清晰描述、尊重他人。

小蚂蚁云团队 · 提供技术支持