GitHub's Draft Pull Requests Is Live

DZone 's Guide to

GitHub's Draft Pull Requests Is Live

GitHub has just become even more collaborative. We look at how and what this means.

· Open Source Zone ·
Free Resource

GitHub last week showed the world some love by introducing its "draft pull request" feature in a post on its blog.

By way of a quick summary, this new type of pull request can be created in much the same way as regular pull requests; however, merging is blocked (until ready) and code owners will not be prompted to review any changes that may come in.

According to GitHub, the motivation for creating this new feature stems from the belief that developers "should be able to open a pull request to start a conversation with your collaborators" as soon as code is ready to take shape in the spirit of collaboration.

In other words, any WIP (work-in-progress) does not necessarily need to remain in an isolated branch, or lumped in with other, more mature code any longer.  Commenting on works-in-progress has always been a bit cumbersome, especially if the code is in no state to be reviewed, or if it has been pushed as part of a pull request that contains more final code.  This last point has always been a silent request on my wishlist, and I know that several developers in my company share the same viewpoint.

The key here is that there does not need to be any intention to ever finalize or merge the result of the draft pull request, although it can be marked as such if and when ready.  This flexibility will go a long way to not only encourage and improve early conversation, but to also bring stakeholders and other non-tech members in to the design and development process sooner (BizDevOps, anyone?).

What do you think?  If you're a GitHub user, how do you see this affecting the projects you work and collaborate on?  Let us know in the comments.

bizdevops ,collaboration ,devops ,draft ,github ,news ,open source ,pull request

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}