跳到主要内容
关系图

如何提PR

一、什么是PR​

PR (Pull Request), 即 拉取请求.

为什么需要PR呢?

举个例子:

你发现了一个开源项目, 不错; 但是有些缺少的功能、BUG, 你希望自己可以对项目进行贡献, 然后你会发现没有权限!

这很正常, 毕竟你也不希望一夜之间, 整个Github被 Rust 重写了吧? 得有审核的吧!

PR, 就是给该项目管理者审核贡献代码的.

(等你PR混熟了, 说不定他们就给你项目权限了, 就不需要次次都PR了~)

二、如何提PR​

这里我们以 first-contributions 项目为例子, 介绍一下, 一个标准的提PR的流程~ (当然, 他们的自述文档就有说明了, 这里也是记录自己的实操吧~)

2.0 提 Issues​

对于一些内容, 我们可以先从 issues 中, 看看有没有类似的问题, 是否有人已经开始着手解决了.

如果没有类似的问题, 那么可以先礼貌的提一个 issues, 看看对方的反应.

如果对面认为有计划, 但优先级不高, 那你可以礼貌的回复, 自己可以尝试, 并且提PR.

以确保最终你的PR被接受, 而不是一直堆积在请求中, 白费自己的经历...

Tip

举个例子, 如果你希望使用 Rust 重构项目, 那你最好是先提 issues, 再提 PR, 而不是上来就是 PR.

换位思考一下, 如果你的C++项目被人使用 Rust 重构了, 并且提了PR, 你怎么想的?

当然, 以上只是玩笑, 真正的 Rust 牢哥, 可能连 Fork 都不干, 直接重写然后 @ 你的项目了...

2.1 Fork 项目​

Fork 项目, 到自己的仓库.

fork项目 ##r10##

2.2 Clone 项目​

在自己的仓库中, clone到本地, 这样才有写入的权限.

clone项目 ##r10##

git clone git@github.com:HengXin666/first-contributions.git
cd first-contributions # 进入到项目里面
bash

2.3 创建自己的分支​

从 开发分支 (这里是main), 创建一个新的分支, 并且切换过去.

Tip

注意, 分支名称应该遵循该项目的命名规范, 如dev-xxx/add-xxx等

git checkout -b add-Heng_Xin
bash

2.4 对项目进行贡献, 并上传到自己的远程仓库​

此处是在项目中加入:

- [Heng_Xin](https://github.com/HengXin666) :)
text

然后 git add .

然后 git commit -m 'Add Heng_Xin to Contributors list'

然后 git push

2.5 可能会出现的, 需要先同步​

落后提交 ##r10##

点击同步分支就OK.

2.6 提交 PR​

前往你的 Github 代码仓库, 你会看到一个 Compare & pull request 的按钮。点击该按钮。

就会进入下面的界面:

PR界面

Tip

上面界面就有说明哦, 是从 xxx仓库的xxx分支, 发送到 yyy仓库的yyy分支哦, 也就是说, 你不需要分支对应哦~

并且会列出你的更改:

PR中的更改

2.7 等待 PR 审核​

提交PR后, 一般还需要和项目维护者沟通, 因为一般情况下, 他们并不一定喜欢你的PR, 会来拷打你qwq? (因此您还需要给项目提一个issues, 以确保项目维护者的意愿)

PR审核

2.8 收拾残局​

然后你可以可以删除对应的开发分支了~ (注意要PR通过了再搞哦, 不然你之后如果还没有通过, 但是却又发现问题了, 需要修改, 就麻烦了哦~)

加载中...

是否删除远程仓库呢?

不建议!

  • 如果你还打算继续给这个项目贡献, 保留 Fork 比较方便

  • GitHub 会自动提示你 Sync Fork (保持与上游仓库同步)

  • 如果你删掉了 Fork, 下次提 PR 又要重新 Fork, 一些记录还会丢失

以上~

请作者喝奶茶:
Alipay IconQR Code
Wechat IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...