当前位置:首页>java>Github新手代码贡献避坑指南

Github新手代码贡献避坑指南

  • 2026-10-24 11:09:34
Github新手代码贡献避坑指南

字数 698,阅读大约需 4 分钟

《Github新手贡献指南》

今天学习了如何在Github的开源项目中贡献自己的代码,参与开源项目。这份笔记整理了这两天我从Fork到PR合并到全过程。

一、贡献流程


在开始代码贡献之前,先要了解一下该项目是否存在贡献规范,即项目主页的Contributing。

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

开源项目中的代码贡献基本遵循以下七步:

  1. 1. Fork:在原项目网页点击 "Fork",将项目复印到自己名下。
  2. 2. Clone:将你名下的副本下载到本地 IDEA。
  3. 3. Remote:配置两个远程仓库。
    • • upstream:指向原作者(用于同步更新)。
    • • origin:指向你自己(用于推送代码)。
  4. 4. Branch:永远不要在 main 分支改代码。新建一个 feat-xxx 或 fix-xxx 分支。
  5. 5. Commit:编写代码,按“原子化”原则提交。
  6. 6. Push:推送到自己的 GitHub 副本。
  7. 7. PR:在网页端发起 Pull Request,等待审核。

二、提交规范


在进行Commit时,需要提交规范的Commit Message,一般需要添加如下前缀:

前缀场景例子
feat
新功能
feat(ui): 增加深色模式切换
fix
修 Bug
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 提交就能解决该问题。

四、总结


在本次项目中,遇到了一些常见的问题,而这些问题是可以及时避免的,在平时提交代码时也应该做到:

  • • 原子化提交:一个 Commit 只做一件事。
  • • Push 前自测:在本地运行 pnpm build 或 npm test,确保不会在云端报错。
  • • 保持沟通:如果 PR 长期没回复,礼貌地在评论区留言询问进度。
  • • PR 合并后:记得删除本地和 GitHub 上的临时功能分支,保持仓库整洁。

开源社区的魅力在于协作,享受这个过程!

最新文章

随机文章