写点什么

GitHub Draft Pull 请求支持新的协作流程

2019 年 3 月 07 日

GitHub Draft Pull请求支持新的协作流程

GitHub 已经引入了draft pull 请求来处理正在进行的工作场景,在这些场景中,你可能希望在代码准备好接受审查之前先打开 PR 或者与您的队友交流一下。


在创建新 PR 时,现在可以使用下拉菜单选择是创建普通的 pull 请求还是 draft pull 请求。draft pull 请求与普通请求明显不同,它不能合并。你可以通过添加评论或要求其他团队成员查看并提供反馈来自由地修改 draft PR。重要的是,draft PR 不会每有一处修改就给所有的代码所有者发通知。这是 draft PR 能够实际用起来的一个关键特性,否则,那些不怎么需要关注的修改也会全给他们发通知。


当你完成一个 draft PR 时,可以简单地把它标记为“已准备好审查”,就能将其状态设置为正常的 PR 了,或者如果它没有什么进展,你可以将其废弃。


一场在Hacker News的讨论为这个新特性提供了更多的背景和基本原理。许多用户表示,他们已经通过在 PR 名称中添加“WIP”或“DO NOT MERGE”来创建 draft pull 请求了。这表明,draft PR 是一种将某种常见但非正式的实践进行正式化的方法。


这些 PR 的作用是促进讨论,开始知识共享,并向其他开发人员更清楚地介绍自己的进展情况,而不是让他们更细致地检查分支。但又是我绝对不想合并的那个。


用户 tedivm 指出,在开发新特性时,不能将 draft pull 请求视为特性分支的替代方法。因此,所有当前的 CI/CD 良好实践都不受 draft PR 的影响。实际上,他建议你仍然创建特性分支,并在这个分支不断提交,频繁地将其推送到你的存储库,但是你可以在任何时间点创建 draft pull 请求,其主要目标有两个:展示特定特性的工作已经完成和干到什么地步了;提供一种简单的方法来检查所涉及的更改,并让人们尽早对代码本身进行注释。


用户 gfosco 特别强调了 draft PR 的价值,当你参与一些大型和复杂的项目时,你无权创建分支,因此只能在自己的 fork 上开展工作。在这种情况下,让其他项目成员检查你的 fork 或分支以获得反馈实际并非一个可行的方法。相反,创建一个 draft PR 可以无缝地协作。


其他评论指出,他们更喜欢通过其他方法(如 wiki、文档或 bug 跟踪器)管理此类讨论。


GitHub 的 draft PR 并不是首创,因为 GitLab 已经提供了一个类似的功能,叫做WIP合并请求。类似地,用于 Android 开发的原始版本管理系统Gerrit也已经提供了与draft pull 请求相同的概念。


查看英文原文:GitHub Draft Pull Requests Enable New Collaboration Workflows


2019 年 3 月 07 日 08:074549
用户头像

发布了 123 篇内容, 共 34.9 次阅读, 收获喜欢 147 次。

关注

评论

发布
暂无评论
发现更多内容

我是如何读完技术书,然后忘得一干二净的

ayesd

读书 读书方式

Linux-常用命令

Flychen

Linux

自动化测试框架知识,读这一篇就够了!

禅道项目管理

程序员 DevOps 自动化 测试

使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (二)为什么要写单元测试

编程道与术

编程 编程语言 TDD 代码审查 单元测试

告别手写,一键生成 Helm Chart README

郭旭东

Kubernetes Helm

从全国首起暗网案件告破说起——暗网,超乎你想象

石君

网络安全 暗网 洋葱网络

PyTorch 1.5 发布,与 AWS 合作 TorchServe

神经星星

人工智能 facebook 微软 亚马逊云 AWS Lightsail 工具

tcp_tw_recycle 【坑】

孤星可

TCP 服务端

最新Idea 2020.1 二种方法激活教程

公众号:V5codings

intellij-idea

5G来临,我们该如何打造自己的家庭数据中心基础篇

ABC实验室

5G 数字资产 家庭数据中心

常用电脑软件清单

彭宏豪95

软件 工具 windows 生产力

我的理财小心得

史前靓仔

游戏夜读 | 游戏数据分析师

game1night

给程序员的错误找个台阶

曲水流觞TechRill

python 文章中图片下载

Flychen

聊聊“坚持”这件事

小天同学

个人成长 写作 坚持 自控力

2020年程序猿必读10本好书推荐

ABC实验室

学习 2020 程序员 好书推荐

嵌套文件夹复制实现

Howe

Java 文件复制

职场寒冬,给你讲四个小故事

池建强

人生 职场

Oracle 将为职场歧视买单,4100 位女员工集体诉讼

神经星星

oracle 互联网巨头 互联网 职场

我的工作原则与思考

梁帅

互联网 工作效率 原则

为什么公众号订阅没有「分组」的功能?

Fenng

微信公众平台 产品设计

2020版Kubernetes快速上手指南,让你所见即所得

ABC实验室

Kubernetes 容器 云原生 群集安装 新手指南

听保洁老大爷讲Java的垃圾回收

侯树成

JVM

freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

C语言技术网-码农有道

Flutter Andorid真机或打包APK杂症记录

北风烈

flutter 打包APK

docker安装mysql5.7并挂载目录到本地

桥哥技术之路

Docker

NumPy 运算规则总结

张利东

Python

自助设备系列——上下游

孙苏勇

产品 行业资讯 智能设备

Grafana+Prometheus(InfluxDB)+Jmeter使用Nginx代理搭建可视化性能测试监控平台

软测小生

Grafana Prometheus Influxdb Jmeter 性能测试

有没有什么上古的程序代码至今依然没被更替?

极客时间

编程 程序员 开发

全国大学生计算机系统能力大赛 操作系统设计赛—技术培训会

全国大学生计算机系统能力大赛 操作系统设计赛—技术培训会

GitHub Draft Pull请求支持新的协作流程-InfoQ