字数 698,阅读大约需 4 分钟
《Github新手贡献指南》
今天学习了如何在Github的开源项目中贡献自己的代码,参与开源项目。这份笔记整理了这两天我从Fork到PR合并到全过程。
一、贡献流程
在开始代码贡献之前,先要了解一下该项目是否存在贡献规范,即项目主页的Contributing。

例如我这次参与了doocs/md的项目,并更新了一些小功能,在这个项目中就存在一些规则,从开发到提交代码。

开源项目中的代码贡献基本遵循以下七步:
- 1. Fork:在原项目网页点击 "Fork",将项目复印到自己名下。
- 2. Clone:将你名下的副本下载到本地 IDEA。
- •
upstream:指向原作者(用于同步更新)。
- 4. Branch:永远不要在 main 分支改代码。新建一个
feat-xxx 或 fix-xxx 分支。 - 5. Commit:编写代码,按“原子化”原则提交。
- 6. Push:推送到自己的 GitHub 副本。
- 7. PR:在网页端发起 Pull Request,等待审核。
二、提交规范
在进行Commit时,需要提交规范的Commit Message,一般需要添加如下前缀:
| 前缀 | 场景 | 例子 |
|---|
| feat | | feat(ui): 增加深色模式切换 |
| fix | | fix(api): 修复登录超时报错 |
| docs | | docs: 修正 README 中的拼写错误 |
| chore | | chore: 更新 pnpm-lock.yaml 依赖 |
| refactor | | refactor: 优化后端权限校验逻辑 |
在我参与的开源项目中,就明确规定,需要使用该标准进行代码提交:

三、避坑指南
以下是我这两天进行代码提交时遇到的问题,现整理出来,以求避坑。
1. 提示 "Branch is out-of-date"
出现该提示的原因时,写代码这两天,原作者更新了。在 PR 页面点 Update branch,或在本地 fetch upstream 并 merge 后再次 push。
2. CI 报错 "ERR_PNPM_OUTDATED_LOCKFILE"
这是由于我修改了package.json ,但 pnpm-lock.yaml 没同步。在本地运行 pnpm install,生成新的 lock 文件后 commit 提交就能解决该问题。
四、总结

在本次项目中,遇到了一些常见的问题,而这些问题是可以及时避免的,在平时提交代码时也应该做到:
- • Push 前自测:在本地运行
pnpm build 或 npm test,确保不会在云端报错。 - • 保持沟通:如果 PR 长期没回复,礼貌地在评论区留言询问进度。
- • PR 合并后:记得删除本地和 GitHub 上的临时功能分支,保持仓库整洁。
开源社区的魅力在于协作,享受这个过程!