红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

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

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

关注

评论

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

实践分享丨物联网操作系统中的任务管理

华为云开发者联盟

华为 数据 物联网 进程

第 0 次面试

escray

程序员 面试 面经

奈学开发者社区分享:Java - 设计模式的7个设计原则

古月木易

Java 设计模式

奈学开发者社区分享:Java - 设计模式的7个设计原则

奈学教育

Java 设计模式 设计原则

华为全联接2020:环信AI领跑,输出5大行业最佳实践

DT极客

一文纵览向量检索

华为云开发者联盟

数据 搜索 检索 检查

一个草根的日常杂碎(9月28日)

刘新吾

随笔杂谈 生活记录 社会百态

牛皮!应届生面试阿里Java岗,七轮过后定级P6,薪资44.8W

面试 计算机基础 编程开发 架构师技能

架构1期第三周作业一

道长

极客大学架构师训练营

一文领略 HTTP 的前世今生

yes

互联网 网络 HTTP 阿帕网

Electron 快速入门及最新安装教程

程序员学院

Java html 大前端 Electron node,js

区块链会替代大数据吗?

CECBC

区块链 大数据

三年筑一“用”:长跑中的智能IP网络

脑极体

大学四年我是怎么写操作系统和计算机网络的?掏心掏肺的分享!

小林coding

学习 程序员 计算机网络 操作系统 计算机基础

融云技术分享:基于WebRTC的实时音视频首帧显示时间优化实践

JackJiang

音视频 即时通讯 实时通信

关于互联网留存和收益你知道多少—带你走近用户成长体系

滴滴普惠出行

Binder那么弱怎么面大厂?

博文视点Broadview

Java android 通信 移动开发 Android进阶

戴尔G系列游戏本助玩家激战英特尔大师挑战赛

E科讯

查看mac电脑的温度信息, 并且给mac电脑降温

lmymirror

macos Mac terminal

深入理解MySQL中事务隔离级别的实现原理

X先生

MySQL 数据库 后端 事务

数字货币是大势所趋,新冠疫情后必须率先发展DCEP

CECBC

数字货币 银行

世界的下一个主宰——人工智能

CECBC

人工智能 智能时代

bug 回忆录(一)

志学Python

关于深浅拷贝

西贝

Java 大前端 基础

H5选图预览到上传最佳实践

阿里云金融线TAM SRE专家服务团队

android H5

初学源码之——银行案例手写IOC和AOP

Java架构师迁哥

一个草根的日常杂碎(9月27日)

刘新吾

随笔杂谈 生活记录 社会百态

for-range造就循环永动机?快来看看go中for-range的那些事!

Gopher指北

后端 for Go 语言

PPT画成这样,述职答辩还能过吗?

小傅哥

Java 小傅哥 流程图 架构师 PPT

中国Prime会员独享巅峰64小时超长跨境网购时间

爱极客侠

架构1期第三周作业二

道长

极客大学架构师训练营

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