写点什么

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:076906
用户头像

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

关注

评论

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

极客时间架构师培训 1 期 - 第 4 周作业

Kaven

架构师训练营第 1 期 - 第四周作业提交

Todd-Lee

极客大学架构师训练营

为什么说 Python 内置函数并不是万能的?

Python猫

Python

架构模式

张荣召

week04作业

龙卷风

架构师一期

WEEK4 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述

陈勇

理解分布式一致性:Paxos协议之Basic Paxos

程序那些事

raft PAXOS raft协议 paxos协议 Basic paxos

B站真题:如何判断括号是否有效?

王磊

Java 数据结构 算法

架构师训练营第 1 期 - 第四周总结

Todd-Lee

极客大学架构师训练营

架构师训练营-week04-作业1

lucian

极客大学架构师训练营

训练营第四周作业 1

仲夏

极客大学架构师训练营

大型互联网应用面对的挑战及应对方案和手段

张荣召

互联网架构演化

张荣召

架构师训练营 1 期 -- 第四周总结

曾彪彪

极客大学架构师训练营

LeetCode题解:22. 括号生成,递归生成同时过滤,JavaScript,详细注释

Lee Chen

大前端 LeetCode

Paxos 的变种(一):Multi-Paxos 是如何劝退大家去选择 Raft 的

多颗糖

分布式 架构师 分布式架构 分布式一致性

系统架构:系统技术挑战与方案

张荣召

Spring 事务,你真的用对了吗(上篇)?

废材姑娘

Spring MVC

DDIA读书笔记(1)可靠性,可扩展性,可维护性

莫黎

读书笔记

区块链助力政府建设高效政务能力

CECBC

区块链 政务

训练营第四周作业 2

仲夏

极客大学架构师训练营

理解分布式一致性:Raft协议

程序那些事

分布式 raft 分布式一致性 raft协议

区块链行业发展的“忧与愁”

CECBC

区块链 互联网

用Python绘制地理图

计算机与AI

Python 绘图

架构师训练营 1 期 -- 第四周作业

曾彪彪

极客大学架构师训练营

会用Docker的人都别装了,这多简单呐

MySQL从删库到跑路

MySQL Docker Linux yum redhat

WEEK4 学习总结

陈勇

极客大学架构师训练营

视读——沟通的艺术,看入人里,看出人外(第四章)

废材姑娘

聊聊「测试分工和测试时间」

清菡软件测试

测试

week04总结

龙卷风

架构师一期

架构师作业 - 第四周 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段

袭望

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