如何在GitHub正确提PR(Pull Requests),给喜欢的开源项目贡献代码

最好的中文TTS项目Bert-vits2更新了中文特化分支,但可能由于时间仓促,代码中存在不少的bug,作为普通用户,有的时候也想为自己喜欢的开源项目做一点点贡献,帮助作者修改一些简单的bug,那么该如何开始?

本次我们以Bert-vits2项目为例子,分享正确提交PR(Pull Requests)的方式。

FORK项目

首先面对一个开源项目,作为普通用户我们有三个选项:

点击Watch可以关注该项目,项目有了更新会提醒关注者,点击Star可以给作者鼓励,类似点赞之类的操作,这里最重要的是Fork,可以把项目拷贝一份到自己的项目库中:

在项目列表中可以看到明确标出了该项目是fork自fishaudio/Bert-VITS2项目:

csharp 复制代码
Forked from fishaudio/Bert-VITS2

至此,我们对自己项目列表中的Bert-VITS2项目就有完整的读写和提交权限了。

修改代码

Github默认显示的都是主分支代码,直接修改主分支代码是非常不理智的行为,一般情况下,我们需要修改的是开发分支,这里先切换到中文特化分支上:

随后开始修改代码,这里的bug是2.3版本去掉了clap特征,而中文特化版本又加了回来,但是代码没有正确回退,导致中文特化版本训练的时候会报错:

修改成功后,提交到自己fork的分支上,注意写清楚提交理由。

提交PR

当我们提交了修改后,在项目上方会自动弹出PR窗口:

此时点击Compare & pull request,正式提交PR

提交PR的时候,也可以描述一下此次pull request的具体理由:

这里描述的越清楚,越容易被作者采纳。

作者合并PR的分支

最后,就是等待作者查看PR请求,如果代码修改的比较合理,那么作者就会考虑合并到目标分支:

如果作者认为代码有可取的地方,那么就会手动合并两个分支,也就是把fork的代码,合并到正式项目的指定分支上,如上图所示。

结语

GitHub 中的 Pull Request(PR)合并分支的原理是通过创建分支保护规则来实现的。分支保护规则定义了非项目小组的协作者在推送更改到分支之前必须满足的条件,例如需要通过状态检查或者需要有一个线性的提交历史。这样可以确保在合并 PR 到受保护的分支之前,必须满足一定的条件。

在 GitHub 中,你可以通过创建分支保护规则来强制执行特定的工作流程或要求。这些规则可以限制谁可以推送更改到受保护的分支,以及是否允许强制推送或删除分支。

当你创建一个分支保护规则后,协作者在推送更改或合并 PR 到受保护的分支时,必须满足规则中定义的条件。这有助于确保代码的质量和安全性,特别是在团队协作的情况下。

总而言之,GitHub 中的分支保护规则可以帮助开源团队管理代码的流程和质量,确保在合并非开发小组的代码到指定分支之前,必须满足一定的条件和要求。

相关推荐
神奇的小猴程序员23 分钟前
提升 AI 与开发效率!两款实用 Skill 开源工具 FunctionCool-Skill & StyleCool-Skill 深度体验
人工智能·开源·s
Cosolar41 分钟前
Docsify零构建文档站完全指南:从快速搭建到企业级部署
前端·开源·github
星栈独行1 小时前
Makepad 应用如何读文件、调接口、保存数据
前端·程序人生·ui·rust·github
烁3473 小时前
Ansible中的Playbook剧本使用
github
阿里嘎多学长5 小时前
2026-06-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
分布式存储与RustFS5 小时前
基于Rust的国产开源对象存储RustFS:S3 Table对Iceberg数据湖的适配详解
rust·开源·iceberg·对象存储·rustfs·minio平替·s3 table
JGDT_6 小时前
ERP重塑与未来趋势:SAP的实践及大一统格局(上)
大数据·人工智能·安全·架构·开源
洛星核7 小时前
CrewAI 安装、使用方法详细全解
人工智能·github·人机交互·ai编程·agi·智能体
吹牛不交税8 小时前
visualstudio把项目绑定git仓库
git
c238568 小时前
git常见错误和ssh验证推送
运维·git·ssh