自由的羽毛 发表于 2024-7-17 20:57:58

GitHub pull request(傻瓜式入门版)

pull request

Pull Request(拉取请求)是一种非常告急的协作机制,它是 Git 和 GitHub 等代码托管平台中常见的功能。在开源项目中,Pull Request 被广泛用于参与社区贡献,从而促进项目的发展。
一、fork项目

先登录自己的github账户,找到自己要提pr的项目。这里我们以datawhalechina/grape-book为例:
https://img-blog.csdnimg.cn/direct/348100f2232b4519af37c0edc3a925b0.png
如果要fork全部分支,记得一定要去掉只选择主分支的对勾(默认是只选择主分支)
https://img-blog.csdnimg.cn/direct/99c6df0877b84c63b991808abe5facd2.png
等候几秒之后,进入主页就可以看到fork后的项目副本到自己的仓库目录下了。
二、clone代码到本地

https://img-blog.csdnimg.cn/direct/b694107a727a43bab3638682e4ae903c.png#pic_center
执行 git clone 命令,将此副本 clone 到本地(推荐使用ssh的形式,可以避免输入用户名和密码)。即在本地的某个目录下,打开命令行,输入如下代码
git clone 红色框的地址
https://img-blog.csdnimg.cn/direct/2740babd7ca14c39bf280b6cdad8fb74.png#pic_center
这样子代表已经成功
三、进入到克隆的项目目录下

执行 cd 克隆项目地址 命令,进入项目目录下。即在本地的某个目录下,打开命令行,输入如下代码。
https://img-blog.csdnimg.cn/direct/a56b536d9c1a4362aaaee967d999ebd6.png#pic_center
像这样子,代表已经成功。
四、列出全部分支

执行git branch -a命令,确认下是否克隆下全部分支项目
https://img-blog.csdnimg.cn/direct/4d6a70bd0edf4735bfd20a8293bd54ed.png#pic_center
如图所示,项目四个分支已经全部clone到本地
五、创建一个本地分支,并追踪长途项目分支

执行git checkout -b v2 origin/v2命令,即在本地创建一个名为v2的分支,并将其设置为跟踪长途的v2分支。如今,你可以在本地举行v2分支上的工作。
六、查看当前分支

为了确保全部操作不犯错,我们在修改内容前,需要再一次确认下当前分支,执行git branch命令,即查看当前分支
https://img-blog.csdnimg.cn/direct/3369f08d71c84e9985f0158786c1bb9e.png#pic_center
如图所示,如今是v2分支。
七、与长途仓库建立连接

查看分支之后,我们看看是否与长途仓库建立了连接
命令行输入以下代码:
git remote -v
https://img-blog.csdnimg.cn/direct/4348a6898cf842d08b963de7e600c4d6.png#pic_center
可以看到,已经建立连接,


[*](fetch) 表示该 URL 地址用于获取长途仓库的代码(即拉取操作)。
[*](push) 表示该 URL 地址用于向长途仓库推送本地仓库的代码。
八、与上游仓库建立连接

接下来还需要与上游建立连接,这里上游指的是一开始fork的谁人项目源,即datawhalechina/grape-book
执行git remote add upstream 地址,示例
git remote add upstream https://github.com/datawhalechina/grape-book.git
此时,我们再输入git remote -v,就可以看到本地已经和长途仓库以及上游建立了连接。
https://img-blog.csdnimg.cn/direct/63698917284a4165bee3ece62d9aa712.png#pic_center


[*]origin 它的拉取作用是获取用户在 GitHub 上的 grape-book 仓库的代码。它的推送作用是将本地修改的代码推送到 用户在 GitHub 上的 grape-book 仓库中。
[*]upstream 它的拉取作用是获取来自 上游成员在 GitHub 上的 grape-book 仓库的代码。它的推送作用是将本地修改的代码推送到上游在 GitHub 上的 grape-book 仓库中。
八、同步最新代码

这么做的原因是当你在开发时,如果多人协作开发同一个项目,那么大概其他人也在修改代码并提交到仓库中。如果你 fork 了这个项目的代码,那么你 fork 的代码大概已经不是最新的了,因此需要实时更新代码,以保证你的代码与仓库中最新的代码保持同步。
命令行输入以下代码:
git fetch upstream v2
即,从上游仓库 upstream 中获取分支 v2 的最新代码,并将最新的代码合并到你当前的分支。
九、修改代码并提交

修改完毕后,提交变更的代码:
git add.
git commit -m 'update'
git push -u origin v2:v2
即将本地的 v2 分支推送到名为 origin 的长途仓库的 v2 分支上,并通过 -u 参数建立本地 v2 分支与长途 v2 分支之间的追踪关系。
十、提交pr

我们回到自己仓库的项目主页,可以看到刚才提交的记录,则表示之前的操作都已成功。接下来,点击箭头所指的Pull Requests选项。
https://img-blog.csdnimg.cn/direct/3b05902f7a42419b9bff69117326fa0e.png#pic_center
点击箭头所指的New pull request按钮
https://img-blog.csdnimg.cn/direct/151795c2deaa483db03d36b965598647.png#pic_center
接下来,点击Creat pull request即可提交成功。
https://img-blog.csdnimg.cn/direct/4519ff5cb84642fda228655034627b5b.png#pic_center
最后,只需耐心等候管理员的审核即可。开源项目的全部pr记录可以在这里查看,包括你刚才提交的。
https://img-blog.csdnimg.cn/direct/0a6ed314444d4eb6823174675352fadd.png#pic_center
如果你的提交被审核通过,则会像下面这个这样,表现All checks have passed
https://img-blog.csdnimg.cn/direct/9ddc2fe20a3940a2b9e1c5243d133bf6.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: GitHub pull request(傻瓜式入门版)