Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PR(Pull Request)
向RT-Thread 提交Pull Request(PR)
发布于 2021-07-25 23:02:05 浏览:1177
订阅该版
[tocm] # 1 Pull Request概述 可能很多朋友都不知道**Pull Request**是啥意思? Github官方文档的定义如下: >Pull Request 是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request,简称PR。 Pull Request **本质上是一种软件的合作方式**,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,还可以进行讨论、审核和修改代码。 # 2 Pull Request流程 **第一步:Fork源** Fork源项目到自己的github仓库中,就是把别人的代码,克隆到你自己的仓库。Github 的术语叫做 fork。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/c34a1ddd3442388efc8b5b5dc7bf40c69f09f4f3.png#pic_center) Fork成功后,自己仓库也会多出一模一样的Repository。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/99f17f59e4747b0e8a7c770806486cf75b99ad8d.png#pic_center) **第二步:拉取Repository** 将自己Github上的Repository 拉到本地。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/3ae0db39974e2555b5e97c32fdfb106ab215a2e9.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 使用以下命令: ``` #git clone git@github.com:Ouxiaolong/rt-thread.git ``` ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/983c9fcfeb79d633fa4fe9e1f3ee9791800a6c7d.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 【注】关于git的安装与配置请参看笔者博文: Git和Github的使用:https://bruceou.blog.csdn.net/article/details/78476880 **第三步:修改本地Repository** 这一步就没啥说的。 **第四步:与源Repository建立新的链接** 1.查看当前链接情况 ``` #git remote -v ``` 命令查看本地Repository与哪些远程仓库建立了链接,你会发现:只与你的GitHub的Repository建立了链接,很显然没有与源所在的GitHub上的Repository建立链接,如下图: ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/e365cd7a338327800f73911a5ffa1365c8beee0f.png#pic_center) 与源所在的GitHub上的Repository建立链接 ``` #git remote add upstream https://github.com/RT-Thread/rt-thread.git ``` 查看当前链接情况: ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/f93ce5dd835acdf467ec6e691bf118d77e383c35.png#pic_center) **第五步:修改Commit** 新建工作分支 ``` #git checkout -b dev ``` ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/ba025876df2201e8bf32e23968e08c76d05e3b3f.png#pic_center) 新建分支后会切换到新建的分支上。 查看分支: ``` #git branch ``` ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/d3d83bb04b013d892ee954444eac2208477dbef8.png#pic_center) 可以看到当前所在分支是“dev”。 **第六步:提交本地代码** 将本地的改动更新到远程仓库中(自己的Github仓库) **1.add** ``` #git add [参数] <路径> ``` 该命令作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。 **2.commoit** ``` #git commit -m “注释” ``` git commit 主要是将暂存区里的改动给提交到本地的版本库。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/4c4c3dd17ee517d646b9de93aa26b59a16c25a80.png#pic_center) **3.push** ``` #git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ``` 将本地版本库的分支推送到远程服务器上对应的分支了 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/2958a5388e0e4695728e9ad1a2ceadd123d8b5bf.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 提交后成功后,就可以看到远程仓库上已经更新了. ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/fcb7af8ccd0d74c4fedd27ae612ad09691ee39d9.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) **第七步:发起PR(Pull Request)** 到自己的GitHub的Repository上点击Pull Requests,再点击New pull requests按钮,如下图: ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/a9dcfc10e8a1f72acc9806f2b79d454213eadb8e.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 值得注意的是,Github也会提示你是否需要提交PR。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/830c695a00f3467c9d4f53c2f03519c7358dd397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 进入Comparing changes界面。这时,会进入一个新页面,有Base 和 Head 两个选项。Base 是你希望提交变更的目标,Head 是目前包含你的变更的那个分支或仓库。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/1080d8fa64cf438971620f94b5c48d9e1c031245.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 值得注意的是,这个界面在源仓库。 然后按下"create pull request"按钮即可。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/30fbda6620b7c24935e80963be82ee9b1ac408e6.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 填写说明,帮助别人理解你的提交。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/131f65aa23babdd7155a0c12c721a5b28728f6b8.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 然后再按下"create pull request"按钮即可。 提交成功后,源仓库中可以看到新建的RP。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/2e5714c1b7cf235927d5f646718a6b4c73a5ab9c.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 【注1】在正式发起 Pull Request 之前,需要根据 Preview 里面默认的描述信息即 checklist 仔细核对代码,在没问题的 checklist 对应选项复选框填写[x]确认,注意[x]两边没有空格。比如若代码是成熟版本,请选择成熟版本,且可以添加相应的描述信息。checklist 核对完成才可发起 Pull Request。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/832b811e392b5c0b0ed0531ecb553fa759c16b17.png#pic_center) 【注2】第一次为 RT-Thread 贡献代码需要需要签署 Contributor License Agreement。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/80c4b5a03686066a71d50a02cbac986ec77bf9ba.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/c3a525ae4aed45001de25953642f4b49d41fb4fa.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMxNjIwMzU=,size_16,color_FFFFFF,t_70#pic_center) 确认 CLA 显示签署成功如下图所示: ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/c63c80eae054df89ef96a264f416c5e3d14591ca.png#pic_center) [RT-Thread贡献代码参考文档](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/development-guide/github/github)
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
BruceOu
这家伙很懒,什么也没写!
文章
27
回答
0
被采纳
0
关注TA
发私信
相关文章
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
3
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部