本文档旨在规范项目的 Pull Request (PR) 提交与评审流程,提升协作效率,保证代码质量,降低维护成本。所有参与项目开发的贡献者均需遵守本规范。
-
确保提交的代码符合项目的编码规范(如命名规范、代码格式、注释规范等)。
-
本地已完成充分测试,包括但不限于单元测试、功能测试,确保新增或修改的代码无新增 Bug,且不影响现有功能正常运行。
-
已同步上游(上游主仓库)最新代码,解决本地分支与目标分支的冲突。
-
确认提交的功能或修复的问题符合项目规划或 Issue 描述,未超出范围。若涉及重大功能变更,需提前在项目 Issue 或讨论区与核心维护者达成共识。
-
关于授权,请阅读我们的许可与贡献者协议 。
分支命名需清晰、规范,格式为:类型/简短描述,其中类型包括:
-
feature:新增功能
-
fix:修复 Bug
-
docs:文档更新
-
style:代码格式调整(不涉及代码逻辑)
-
refactor:代码重构(不新增功能、不修复 Bug)
-
test:补充或修改测试代码
示例:
-
feature/kg-structured-extraction(新增图谱结构化抽取功能)
-
fix/kg-unstructured-parse(修复图谱非结构化文本解析异常)
-
docs/update-readme(更新 README 文档)
- 优先合并到
develop分支。
PR 由多个 Commit 组成,每个 Commit 的信息需准确、简洁,遵循以下格式:
<type>(<scope>): <subject>
[body]
[footer]
-
type:提交类型,与分支命名的类型一致(feature、fix、docs、style 等)。
-
scope:可选,指定提交影响的范围(如模块、功能、文件等),示例:feature(login)、fix(graph)。
-
subject:提交的简短描述,不超过 50 字符,首字母小写,结尾不加句号。
-
body:可选,详细描述提交的内容、修改原因、解决的问题等,换行时注意空行分隔。
feature(kg): 新增图谱结构化抽取功能
新增结构化抽取接口(/kg/structured/extract)
实现实体、关系、属性的自动抽取与图谱映射逻辑
优化抽取结果去重策略,提升图谱数据准确性
fix(kg): 修复图谱非结构化文本抽取失败问题
原因:非结构化文本(PDF/Word)解析时,特殊字符导致实体边界识别错误,进而引发抽取中断。
解决方案:优化文本预处理逻辑,添加特殊字符过滤与分词校正,完善异常捕获机制。
提交 PR 时,需在 Gitee PR 编辑页面填写清晰、详细的描述,帮助评审者快速了解 PR 内容。建议使用以下模板:
## 1. PR 目的
- 描述本次 PR 的核心目的(新增功能/修复 Bug/文档更新等)
- 关联 Issue:#xxx(必填,若无 Issue 可说明)
## 2. 实现内容
- 列出主要的修改点、实现的功能模块、修复的具体问题
- 可附加核心逻辑说明、设计思路等
## 3. 测试情况
- 本地测试:列出已完成的测试用例(单元测试、功能测试等)
- 测试环境:是否在测试环境验证,结果如何
- 待测试点(若有):需要评审者重点测试的内容
## 4. 其他说明
- 是否涉及不兼容变更:是/否,若为是请详细说明
- 是否需要文档同步更新:是/否
- 其他需要评审者注意的事项(如依赖变更、性能影响等)
## 5. 截图/录屏(可选)
- 若涉及 UI 变更、功能演示,可附加截图或录屏链接
-
PR 描述需使用中文,语言简洁、准确,避免歧义。
-
必须关联相关的 Issue(若存在),便于追溯需求和问题。
-
对于复杂的 PR,建议分点详细说明,降低评审难度。
-
在 Gitee 上 Fork 项目到个人仓库(首次贡献时)。
-
克隆个人仓库到本地:
git clone https://gitee.com/your-username/qKnow。 -
创建并切换到符合规范的分支:
git checkout -b feature/xxx。 -
完成代码开发和测试,提交 Commit(遵循 Commit 信息规范)。
-
推送本地分支到个人仓库:
git push origin feature/xxx。 -
登录 Gitee,进入个人仓库,点击「Pull Request」→「新建 Pull Request」。
-
选择目标分支(上游仓库的对应分支)和源分支(个人仓库的开发分支)。
-
填写 PR 描述(遵循 PR 描述规范),检查信息无误后提交。
-
若 PR 不符合规范(如分支错误、描述不完整、代码质量不达标),评审者可拒绝并说明具体原因,要求贡献者整改后重新提交。
-
若 PR 涉及的功能与项目规划不符、存在重大设计问题且无法协商解决,核心维护者可关闭 PR,并在评论区详细说明原因,感谢贡献者的付出。
-
贡献者可自行关闭未合并的 PR(如发现提交错误、功能无需实现等),关闭时建议说明原因。
-
本规范自发布之日起生效。
-
贡献者在 PR 提交和评审过程中需遵循开源协作礼仪,尊重评审意见,友好沟通。
qKnow项目维护团队 更新日期:2026-03-27