Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
github
PR(Pull Request)
[GITHUB] PR代码reviewer分发机制
发布于 2023-07-20 22:31:52 浏览:465
订阅该版
[tocm] # [GITHUB] PR代码reviewer分发机制 ## 文章简介 本文介绍了github的PR的分发reviewer机制,可以实现自动的将对应代码分配reviewer人。就是如果有人提交PR修改到某个文件夹里面的内容的话,github可以自动将这个PR转给对应的负责人进行reviewer。负责人也会收到邮件等通知。 技术来源链接: https://help.github.com/en/articles/about-code-owners#codeowners-syntax 谁会用到这个功能呢? 对仓库具有写权限的可以对这个reviewer机制进行生效。通常用于团队协作中。 通常有用户提交`pull request` 之后github会自动根据代码修改的文件夹来自动匹配reviewer 如下图: ![image-20230720221507699.png](https://oss-club.rt-thread.org/uploads/20230720/52c7283ffb2d738c236e66b60be231f5.png.webp) ## 怎么做 其实很简单只要仓库中放置`CODEOWNERS`文件即可。参考如下: https://github.com/RT-Thread/rt-thread/blob/master/.github/CODEOWNERS `CODEOWNNERS`文件存放路径有以下几个地方: - 根目录`/` - doc目录`docs/` - .github目录`.github/` ## CODEOWNNER 内容 内容其实很简单,下面给个简单的例子 ``` # CODEOWNERS for autoreview assigning in github # https://help.github.com/en/articles/about-code-owners#codeowners-syntax /.github @supperthomas /bsp @mysterywolf /components @mysterywolf /examples @Guozhanxin ``` 接下来我们打开`PULL REQUEST`的时候,我们仔细看下下面的图片,然后可以看到这里讲了`componets`下面的代码需要`mysterywolf`来reviewer。 ![image-20230720215804535.png](https://oss-club.rt-thread.org/uploads/20230720/385b7f01a291abeb864e2f5828200946.png) ## CODEOWNER 大小 大小必须3M 以下。如果写的太大,你可以考虑使用通配符来缩小大小。 ## CODEOWNER 语法 如果想要匹配多个代码reviewer,所有代码reviewer必须在同一行。 例如 ``` /.github @supperthomas @mysterywolf ``` CODEOWNERS 路径区分大小写 如果 CODEOWNERS 文件中的任何行包含无效语法,将跳过该行。 当你打开CODEOWNER的文件的时候会自动识别该CODEOWNER是否有效,如下图: ![image-20230720220830288.png](https://oss-club.rt-thread.org/uploads/20230720/41801ec1992d79a4dc8e0d5137ffa4c4.png) ## 举例 ``` # * 代表所有文件,所以所有文件都会通知到 @global-owner1 and @global-owner2 * @global-owner1 @global-owner2 # 顺序很重要,最后匹配的优先级最高,所以*.js会通知 @js-owner *.js @js-owner #This is an inline comment. # 你也可以用电子邮箱,如下所示 *.go docs@example.com # 可以使用有写权限的组织里面的团队或者个人 *.txt @octo-org/octocats # 所有/build/logs/下面的文件修改,包括子文件夹,会通知到@doctocat /build/logs/ @doctocat # 这个会匹配docs下面的所有文件,但不包含嵌套的文件,比如docs/getting-started.md 这个修改就会通知到 # docs/build-app/troubleshooting.md 这个文件修改就不会通知到 docs/* docs@example.com # 下面这个例子任何文件在apps文件夹下面的都会通知到,不管这个apps在你仓库的哪个位置,注意这里没有/ apps/ @octocat # 下面这个会包含根目录下面的docs下面的所有文件,包括子目录 /docs/ @doctocat # 这个会通知到2个人 /scripts/ @doctocat @octocat # 任何文件在/logs目录下面的比如/build/logs , /scripts/logs ...等等都会通知 **/logs @octocat #任何/apps下面的文件都会通知,注意这里是根目录,除了/apps/github这个目录,因为这个目录在最后没有人匹配,匹配为空 /apps/ @octocat /apps/github ``` ## 总结 这个主要对github文档的一个翻译和总结以及实践学习。主要告诉大家如何使用和如何写`CODEOWNER`文件来方便团队来分配PR。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RTT_逍遥
https://github.com/supperthomas
文章
36
回答
499
被采纳
75
关注TA
发私信
相关文章
1
RT_Thread ENV 下载问题
2
github下载时总是中断失败
3
提高github的响应速度
4
RT-thread ENV 工具配置软件包时总是无法连上git网址,无法下载?
5
软件包下载问题解决经验
6
无法下载littlevgl 软件包
7
软件包无法下载(已解决)
8
RT-Thread studio 如何更换git下载源?
9
【github】大家在用github有哪些问题
10
github登录不了,重置密码也不行
推荐文章
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
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
11
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部