本指南详细介绍如何从 Fork 到成功提交 Pull Request(PR),适用于首次参与贡献的开发者。
🎯 目标
帮助开发者标准化代码贡献流程,避免冲突、规范提交、提高协作效率。
📋 流程总览
image.png
🔧 详细操作步骤
Fork 原始项目
点击 GitHub 项目右上角的 Fork 按钮,将仓库复制到你的 GitHub 账户。克隆 Fork 仓库到本地
git clone https://github.com/你的用户名/项目名.git
cd 项目名
- 添加上游远程(upstream)
git remote add upstream https://github.com/原作者/项目名.git
git fetch upstream
- 创建功能分支进行开发
git checkout -b my-feature-branch
请不要在 main 或 master 上直接开发,以便后续合并清晰。
- 编写、修改代码
在本地修改/添加你想提交的功能、修复或文档。
- 添加并提交改动
git add .
git commit -m "feat: 添加用户搜索功能 #105"
commit message 写法建议:
feat: 添加功能
fix: 修复问题
docs: 文档更新
refactor: 重构
test: 测试相关
chore: 杂项修改
- 同步主分支(避免冲突)
git checkout main
git pull upstream main
git checkout my-feature-branch
git merge main
git add .
git commit -m "chore: 合并主分支最新内容"
- 推送功能分支到你自己的远程仓库
git push origin my-feature-branch
- 在 GitHub 创建 Pull Request
进入你的 GitHub 仓库;
点击 “Compare & pull request”;
目标分支选择:original-author/main;
来源分支选择:your-name/my-feature-branch;
填写 PR 标题、描述,关联 Issue(如 Fixes #42);
点击 “Create Pull Request”。
📄 Pull Request 描述模板(可复制)
markdown
git clone https://github.com/你的用户名/项目名.git
cd 项目名
### ✨ 改动内容
- 添加了用户搜索功能(支持拼音模糊匹配)
- 重构了 searchService 结构
### 📌 关联 Issue
Fixes #105
✅ 测试说明
- 输入用户姓名或拼音;
- 搜索结果实时匹配,兼容多语言。
📎 其他说明
如需设计确认,请联系 @设计负责人
🔁 提交后你可以:
修改 PR 内容(继续在分支中提交即可自动更新 PR);
与维护者互动讨论;
如果被要求修改,请按建议修改再推送。
🧠 最佳实践建议
每个功能使用独立分支;
在提交 PR 之前始终同步 upstream/main;
提交信息清晰,描述详尽;
多与社区沟通,提前在 issue 中认领任务;
阅读并遵守项目的 CONTRIBUTING.md 和 CODE_OF_CONDUCT(如果有);