{"id":74,"date":"2016-12-16T11:25:46","date_gmt":"2016-12-16T10:25:46","guid":{"rendered":"https:\/\/rosetta.vn\/short\/?p=74"},"modified":"2016-12-16T11:25:46","modified_gmt":"2016-12-16T10:25:46","slug":"the-six-types-of-pull-requests-you-see-on-github-ben-balter-github-product-manager","status":"publish","type":"post","link":"https:\/\/rosetta.vn\/short\/2016\/12\/16\/the-six-types-of-pull-requests-you-see-on-github-ben-balter-github-product-manager\/","title":{"rendered":"The six types of pull requests you see on GitHub &#8211; Ben Balter (GitHub product manager)"},"content":{"rendered":"<blockquote><p>Whether collaborating on code, data, or prose text, there are lots of different strategies for using pull requests on GitHub. I once saw a post that outlined a handful of ways teams use pull requests, that seems to be subsequently lost forever, despite looking high and low. Here\u2019s how I see pull requests used at GitHub:Just a heads upHow it works: Create a pull request and immediately merge it yourself without others\u2019 review.When to use it: When you\u2019re making a change so uncontroversial or straight forward that no review is required, but you want to let your teammates know that you\u2019ve made the change. Dependency bumps are a good use case.Sanity checkHow it works: Submit a pull request with a minor change, wait a short period for a sniff-test review, and self merge.When to use it: When you\u2019ve got a small change, potentially in a part of the codebase outside your area of expertise, and you\u2019d like someone with more experience to provide a quick before your merge the change.Work in progress (WIP)How it works: Prefix the pull request title with WIP:. Optionally add emoji and \u201cDO NOT MERGE\u201d in bold if you\u2019re ultra-paranoid.When to use it: When you\u2019ve started a new feature, document, or bug fix, that\u2019s not quite ready for others to review, but you want to let your teammates know that you\u2019re working on the feature. This can be used to prevent the duplication of effort, save work that you\u2019ve started, or complement your team\u2019s workflow.Early feedbackHow it works: Roughly spike out a feature by creating a proof of concept or rough outline that expressed your idea in its final form.When to use it: When you want feedback on your general approach or the idea itself. Is this a dumb idea? Is there a better way to do this? The content of the pull request exists to convey the idea, and will likely not be the final implementation. This may start as a WIP and may end with a line-by-line review.Line-by-line reviewHow it works: Submit a feature-complete pull request and cc relevant teams, asking for their review. Team members will comment line-by-line and re-review as you implement their changes.When to use it: When you\u2019re ready to the thing. It may have been started as a work in progress, or for early feedback, but you\u2019ve made it clear that unless you hear otherwise, you\u2019re going to hit merge.Pull request to a pull requestHow it works: You submit a pull request, that instead of requesting a merge into the master branch, requests that its changes be merged into a branch that is the basis of another pull request.When to use it: When you don\u2019t have write access to the source repository (e.g. open source), and would like to make substantial changes to an existing pull request created by another user. For smaller changes, use line-by-line comments with the proposed code.<\/p><\/blockquote>\n<p>Source: <em><a href=\"http:\/\/ben.balter.com\/2015\/12\/08\/types-of-pull-requests\/\">The six types of pull requests you see on GitHub &#8211; Ben Balter<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whether collaborating on code, data, or prose text, there are lots of different strategies for using pull requests on GitHub. I once saw a post that outlined a handful of ways teams use pull requests, that seems to be subsequently<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"quote","meta":{"_mi_skip_tracking":false},"categories":[30],"tags":[69],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8jhJx-1c","_links":{"self":[{"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/posts\/74"}],"collection":[{"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/comments?post=74"}],"version-history":[{"count":0,"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/posts\/74\/revisions"}],"wp:attachment":[{"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/media?parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/categories?post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rosetta.vn\/short\/wp-json\/wp\/v2\/tags?post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}