写点什么

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

  • 2019-03-07
  • 本文字数:987 字

    阅读完需:约 3 分钟

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-03-07 08:076598
用户头像

发布了 124 篇内容, 共 47.1 次阅读, 收获喜欢 177 次。

关注

评论

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

Git教程--git merge命令

生之欢愉,时间同行

git 程序员 git merge

DCache 分布式存储系统|K-K-Row 缓存模块的创建与使用

TARS基金会

MySQL 数据库 nosql 分布式存储 TARS

2021金三银四涨薪季,这些面试题都掌握了嘛?

ios 面试

翻译:《实用的Python编程》02_06_List_comprehension

codists

Python

安卓天气app开发!2021年Android开发者跳槽指南,社招面试心得

欢喜学安卓

android 程序员 面试 移动开发

图解定时任务线程池

叫练

面试 定时任务 线程池 Timer 线程池工作原理

Flutter-从入门到项目 07: 微信项目-发现页面

iOSer

flutter ios 小程序flutter, 跨平台

开工来面试了几十个人,一言难尽

yes

面试

国产芯片WiFi物联网智能插座—项目简介

不脱发的程序猿

物联网 28天写作 二月春节不断更 WiFi物联网插座 智能插座

话题讨论 | 英语对IT从业人员重要吗?

happlyfox

IT 话题讨论 28天写作 2月春节不断更 话题王者

「超全!」谷歌大神LeetCode刷题笔记PDF分享

C语言与CPP编程

c++ 程序员 算法 LeetCode 编程、

3分钟学会如何上手supervisor看门狗

happlyfox

Linux centos7 28天写作 2月春节不断更

运维工程师小张的日记

XSKY星辰天合

华为云“网红”语言Python课程来啦!

华为云开发者联盟

Python

到底什么是敏捷

Teobler

敏捷 敏捷开发 敏捷精髓 敏捷书籍

诊所数字化:连锁型诊所应用远程会诊做分级诊疗

boshi

数字化医疗 七日更 28天写作

研发效能的历史和未来

李小腾

研发效能 数据驱动

第一篇文章

棉花糖

简述:一款优秀的缺陷管理系统有哪些功能特点!

优秀

缺陷管理系统

日记 2021年2月25日(周四)

Changing Lin

2月春节不断更

Serverless 2.0,鸡蛋还是银弹?

Serverless Devs

腾讯云 阿里云 Serverless 运维 大前端

魔改出一个 Encoder | Rust 学习笔记(一)

李大狗

区块链 rust 入门

常见的初级排序算法,这次全搞懂

Silently9527

Java 排序算法

2021版面试必问178条性能优化建议!(Java+JVM+Redis+MySQL等)

Java架构追梦

Java 架构 面试 性能优化 金三银四跳槽

优化软件测试成本的7个步骤

程序员阿沐

软件测试 自动化测试 测试工程师 黑盒测试 白盒测试

添加小助理vx:mxzFAFAFA即可!!

比伯

Java 编程 架构 面试 计算机

大牛荐书 | 百度技术大牛都在读的7本书!

百度Geek说

技术 技术人 书籍推荐 技术书籍

LeetCode题解:718. 最长重复子数组,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

技术干货 | 中间件技术在百度云原生测试中的应用实践

百度开发者中心

底层技术 #技术干货#

国产芯片WiFi物联网智能插座—电源功能设计

不脱发的程序猿

28天写作 二月春节不断更 智能插座 WiFi物联网智能插座 电源设计

安卓软件开发教程!全世界都在问Android开发凉了吗?offer拿到手软

欢喜学安卓

android 程序员 面试 移动开发

GitHub Draft Pull请求支持新的协作流程_文化 & 方法_Sergio De Simone_InfoQ精选文章