很多人想参与ref="/tag/65/" style="color:#3D6345;font-weight:bold;">开源项目,但卡在第一步:怎么提交代码改动。其实整个过程并不复杂,只要几步就能搞定。假设你已经在 GitHub 上找到了一个感兴趣的开源项目,比如一个系统工具的仓库,接下来就看你如何贡献自己的修改。
fork 项目到自己的账号
打开项目主页,右上角有个“Fork”按钮,点一下,GitHub 就会把整个项目复制一份到你的账户下。这相当于你有了一个独立的副本,可以随便改,不会影响原项目。
克隆到本地开始修改
把刚 fork 的项目 clone 到本地:
git clone https://github.com/你的用户名/项目名.git
进入项目目录,新建一个分支专门用来做改动:
cd 项目名
git checkout -b fix-readme-typo
比如你发现 README 中有个错别字,现在就可以用编辑器改掉它。
提交你的修改
保存文件后,把改动加入暂存区并提交:
git add README.md
git commit -m "修复 README 中的拼写错误"
然后推送到你 fork 的远程仓库:
git push origin fix-readme-typo
发起 Pull Request
回到 GitHub 页面,切换到你 fork 的项目,会看到一行提示:“Your recently pushed branches: fix-readme-typo”,旁边有个绿色的“Compare & pull request”按钮,点它。
填写标题和描述,说明你改了什么、为什么这么改。比如写“修复 README 拼写错误:‘recieve’ 改为 ‘receive’”。确认无误后,点“Create pull request”。
这时候原项目的维护者就会收到通知, review 你的代码。如果没问题,他们就会合并进去。你也会在个人贡献记录里看到这次 PR 被计入。
后续维护小贴士
有时候你发完 PR,维护者可能会提意见,比如让你调整格式或补充说明。这时候只需要在本地继续修改那个分支,再 push 上去,PR 会自动更新。
还有一个常见问题:如果你 fork 的项目很久没同步,可能已经落后很多提交。可以用下面的方法更新主分支:
git remote add upstream https://github.com/原作者/项目名.git
git fetch upstream
git merge upstream/main
这样能保证你的改动基于最新的代码,减少冲突。
参与开源不是高手专属。哪怕只是改一个标点、补一句注释,都是实实在在的贡献。下次看到文档里有看不懂的地方,别光吐槽,动手修了它,再发个 PR,你就已经是开源社区的一员了。