git-pull-request

本文最后更新于 2024年9月1日 下午

Git 的 Pull Request 是什么

前言

发现了本博客站点的配置文件中一个失效的链接,就想着对原项目进行修改。早闻 git 的 pr 功能,趁着端午放假在家便来实战一波,做个小小的记录 😎

原理

首先聊聊 pr 名字的由来。pr 即 pull request,顾名思义是「拉取请求」的意思。pr 根本逻辑是将原项目 fork 到自己的仓库后进行修改,然后向原项目作者发起 pull request 请求,直到 merge 到原项目或被拒绝。这样的一个工作流程为什么被叫做「拉取请求」呢?依稀记得之前在某乎上看到过相关文章,程序员届大概有两个流派,主要从这个工作流的执行主体角度来理解。对于原项目作者,需要考虑修改者的请求是否适合合并,就是 pull 的过程;相对的,修改者发送修改合并的请求是一个 push 的过程。因此我们从原项目作者的角度来理解这个名称就有据可寻了。下附一张图解:

pull-request-workflow

实操

一、fork 目标仓库

进入目标仓库,点击右上角的 fork 按钮进行 fork

fork 目标仓库

二、clone 至本地

进入自己的仓库,找到对应的项目并复制克隆链接

clone 至本地

三、编辑内容并版本管理

注意:如果在进行 clone 时,只克隆了默认的主分支,我们需要按照原项目规定的 pr 分支创建同名的分支。比如此处:原项目只允许在 develop 分支上进行 pr,因此我们在默认只拉取了 master 分支的前提下,需要自己在本地创建一个 develop 分支,并在此基础之上进行内容的修改与编写。

我们将需要修改的内容完善后,进行 add 和 commit 操作即可。

四、push 至仓库

此处将已经版本管理好的内容 push 到自己刚才 fork 出来的仓库即可。上述示例中需要 push 到 develop 分支上。

五、发起 pr 请求

在选择合适的分支后,点击 Contribute 按钮即可看到 Open pull request 选项,点击即可发起 pr 请求:

发起 pr 请求

尾声

在进行实战时,由于原项目的作者进行了分支保护,即编写了 pr 的安全检查流,以至于我前两次分别踩到了:master 分支保护和 develop 分支名称不一致,两个坑。因此不得已提前自己手动关闭掉这两个 pr,也因此获得了人生中首个非正式的 Achievement 哈哈:

Achievement

Achievement

参考

吵疯了,Pull Request到底是个啥?

百大技术UP带你玩转 Pull Request


git-pull-request
https://blog.dwj601.cn/DevTools/Git/git-pull-request/
作者
Mr_Dwj
发布于
2024年6月9日
更新于
2024年9月1日
许可协议