{"id":4519,"date":"2017-05-16T18:32:27","date_gmt":"2017-05-16T18:32:27","guid":{"rendered":"https:\/\/cheesecakelabs.com\/blog\/?p=4519"},"modified":"2022-07-01T17:41:14","modified_gmt":"2022-07-01T17:41:14","slug":"git-etiquette-submitting-pull-request","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/","title":{"rendered":"Git Etiquette: Submitting a Pull\u00a0Request"},"content":{"rendered":"<p class=\"graf graf--p\">This post was originally written as an internal article on Cheesecake Labs&#8217; wiki. It merges (no pun intended) pull request practices from many different cultures and backgrounds into a definitive workflow. We will discuss why you should have a guide for managing your&nbsp;PR lifecycle, as well as tips on how to accomplish that.<\/p>\n<p class=\"graf graf--p\"><!--more--><\/p>\n<h2 class=\"graf graf--h3\">Before opening a Pull&nbsp;Request<\/h2>\n<p class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Double check your code!<\/strong> <code class=\"markup--code markup--p-code\">git diff<\/code> is an excellent tool for that and it\u2019s just a few keystrokes away! Try <code class=\"markup--code markup--p-code\">git diff master..<\/code> (where master is the branch you&#8217;ll target your PR with).<\/p>\n<p class=\"graf graf--p\">Think before using your CI service as a test runner as it might delay other people\u2019s work, increase costs or just annoy people with a bunch of failure emails\u200a\u2014\u200aif that\u2019s the case, run them locally!<\/p>\n<h2 class=\"graf graf--h3\">Filling up your PR submission<\/h2>\n<p class=\"graf graf--p\">Ok, now it\u2019s time to fill some web forms: insert a concise title with strong keywords, it will help people reference your PR later.<\/p>\n<p class=\"graf graf--p\">Now think with yourself: how would I review this PR? Did I commit by files, modules or by context? Is it easier to review commit-by-commit or the diff as a whole? Use the description field to let your reviewers know!&nbsp;<strong class=\"markup--strong markup--p-strong\">Don\u2019t assign people yet!<\/strong><\/p>\n<h2 class=\"graf graf--h3\">Before assigning people<\/h2>\n<p class=\"graf graf--p\">Remember: you are about to assign a task to someone, they will eventually stop what they are doing to devote some attention to your code.<\/p>\n<p class=\"graf graf--p\">It is a good idea to take another look at your diff\u200a\u2014\u200ayes, again\u200a\u2014\u200abecause origin\u2019s target branch might be different from what you\u2019d expect, it&#8217;s better to catch these issues sooner than later. Also, wait for tests and other checks (if any) to pass.<\/p>\n<p class=\"graf graf--p\">You should also understand that GitHub has the concept of <em class=\"markup--em markup--p-em\">assignee<\/em> and <em class=\"markup--em markup--p-em\">reviewer<\/em>. To my understanding, a <em class=\"markup--em markup--p-em\">reviewer<\/em> is anyone whose responsibility is:<\/p>\n<p class=\"graf graf--p\">????????????????????????????????????????????????????????<\/p>\n<p class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">review<\/strong> your pull request.<\/p>\n<p class=\"graf graf--p\">On the other hand, <em class=\"markup--em markup--p-em\">assignees<\/em> are responsible for <strong class=\"markup--strong markup--p-strong\">merging<\/strong> the PR.<\/p>\n<p class=\"graf graf--p\">So, if you want to merge the PR youself, only assign yourself! If you think it should be merged ASAP, you probably should also assign every reviewer, so they can feel free to hit the green button once everything is OK.<\/p>\n<p class=\"graf graf--p\">This practice is important to prevent premature\/accidental merges. There are many scenarios where the PR code is \u2705 but it still depends on some external factor. An example is a continuous delivery system that automatically deploys the <code class=\"markup--code markup--p-code\">master<\/code> branch: sometimes you want to delay the deployment by a few hours, a day, etc. Having that rule in practice gives you peace of mind by knowing that you are the one controlling when the PR will be merged.<\/p>\n<h2 class=\"graf graf--h3\">Something is broken&nbsp;\u274c<\/h2>\n<p class=\"graf graf--p\">Fix that broken piece! This is a good moment to use some advanced git skills like <code class=\"markup--code markup--p-code\">--amend<\/code>, <code class=\"markup--code markup--p-code\">--fixup<\/code> or <code class=\"markup--code markup--p-code\">rebase -i<\/code>. Don&#8217;t feel comfortable using these commands? No problem! Do a regular commit fixing the issue and push it to origin.<\/p>\n<h2 class=\"graf graf--h3\">All good&nbsp;now?<\/h2>\n<p class=\"graf graf--p\">It\u2019s time to assign people and wait for some feedback!<\/p>\n<p class=\"graf graf--p\">From now on, people are aware of your branch and might even have pulled it to their local machines, so it\u2019s a bad idea to amend commits or fixups because it might cause undesired results.<\/p>\n<h2 class=\"graf graf--h3\">Someone requested code&nbsp;changes<\/h2>\n<p class=\"graf graf--p\">This is great! Someone devoted some attention to your code and kindly left you some comments about it. This might be a good moment to learn something new\u200a\u2014\u200aor maybe it\u2019s just a missing comma.<\/p>\n<p class=\"graf graf--p\">It\u2019s time to get your hands dirty again! Fix the issues and preferably commit them individually or grouped by context\u200a\u2014\u200a avoid doing general commits like <code class=\"markup--code markup--p-code\">fix all requested changes<\/code>\u2014 someday you may need to traceback some code change and it might be missing an useful message.<\/p>\n<p class=\"graf graf--p\">Leaving the office but haven\u2019t finished fixing it yet? You may push the commits to origin without worries! Your reviewers shouldn\u2019t spend time looking into your PR again until you <strong class=\"markup--strong markup--p-strong\">explicitly<\/strong> say so.<\/p>\n<h2 class=\"graf graf--h3\">I fixed everything!<\/h2>\n<p class=\"graf graf--p\">After pushing all fix commits to origin, give it a few minutes to&nbsp;run the tests again. Did they pass? Take another quick look at the PR. All good \u2705?<\/p>\n<p class=\"graf graf--p\">Let your reviewers know! Add a comment to the PR mentioning the reviewer(s), a simple <code class=\"markup--code markup--p-code\">@username ping!<\/code> will do it!<\/p>\n<h2 class=\"graf graf--h3\">Good job, now relax&nbsp;????????<\/h2>\n<p class=\"graf graf--p\">Wait for approval and ???? it to the world.<\/p>\n<h2 class=\"graf graf--h3\">Bonus tips&nbsp;\u26f1<\/h2>\n<p class=\"graf graf--p\">Amending a commit is quite simple: Let&#8217;s say you forgot to add some stuff in your latest commit, all you have to do is <code class=\"markup--code markup--p-code\">git add [files]<\/code> then <code class=\"markup--code markup--p-code\">git commit --amend<\/code>.<\/p>\n<p class=\"graf graf--p\">Fixups commits are a bit more complex: if you want to add some changes to a previous commit you have to <code class=\"markup--code markup--p-code\">git add [files]<\/code> then <code class=\"markup--code markup--p-code\">git commit --fixup [commithash_to_amend]<\/code>. That will generate a <code class=\"markup--code markup--p-code\">fixup!<\/code> commit message referencing the commit you wanted to amend with. After that you just need to do an interactive rebase with&nbsp;<code class=\"markup--code markup--p-code\">git rebase -i --autosquash [basebranch]<\/code>and it&#8217;s done!<\/p>\n<p class=\"graf graf--p\">Check out <a href=\"https:\/\/cheesecakelabs.com\/blog\/blog\/code-review-easier-better-faster-stronger\/\">this awesome post<\/a>&nbsp;my coworker Bernardo did about Code Reviews.<\/p>\n<h2 class=\"graf graf--h3\">Did I miss something?<\/h2>\n<p class=\"graf graf--p\">Any other practices you recommend? Think this is too much pragmatism? Leave a comment below, let&#8217;s discuss it!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post was originally written as an internal article on Cheesecake Labs&#8217; wiki. It merges (no pun intended) pull request practices from many different cultures and backgrounds into a definitive workflow. We will discuss why you should have a guide for managing your&nbsp;PR lifecycle, as well as tips on how to accomplish that.<\/p>\n","protected":false},"author":65,"featured_media":4631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[432,1162],"tags":[12,318],"class_list":["post-4519","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","category-process","tag-tag-github","tag-tag-workflow"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Git Etiquette: Submitting a Pull\u00a0Request<\/title>\n<meta name=\"description\" content=\"This post was originally written as an internal article on Cheesecake Labs&#039; wiki. It merges practices from many different cultures and backgrounds.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Git Etiquette: Submitting a Pull\u00a0Request\" \/>\n<meta property=\"og:description\" content=\"This post was originally written as an internal article on Cheesecake Labs&#039; wiki. It merges practices from many different cultures and backgrounds.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-16T18:32:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T17:41:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\"},\"author\":{\"name\":\"Iacami Gevaerd\"},\"headline\":\"Git Etiquette: Submitting a Pull\u00a0Request\",\"datePublished\":\"2017-05-16T18:32:27+00:00\",\"dateModified\":\"2022-07-01T17:41:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\"},\"wordCount\":836,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png\",\"keywords\":[\"github\",\"workflow\"],\"articleSection\":[\"Engineering\",\"Process\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\",\"name\":\"Git Etiquette: Submitting a Pull\u00a0Request\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png\",\"datePublished\":\"2017-05-16T18:32:27+00:00\",\"dateModified\":\"2022-07-01T17:41:14+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Iacami Gevaerd\"},\"description\":\"This post was originally written as an internal article on Cheesecake Labs' wiki. It merges practices from many different cultures and backgrounds.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png\",\"width\":2000,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Git Etiquette: Submitting a Pull\u00a0Request\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Iacami Gevaerd\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/iacami-300x300.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/iacami-300x300.jpg\",\"caption\":\"Iacami Gevaerd\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/iacami\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Git Etiquette: Submitting a Pull\u00a0Request","description":"This post was originally written as an internal article on Cheesecake Labs' wiki. It merges practices from many different cultures and backgrounds.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/","og_locale":"en_US","og_type":"article","og_title":"Git Etiquette: Submitting a Pull\u00a0Request","og_description":"This post was originally written as an internal article on Cheesecake Labs' wiki. It merges practices from many different cultures and backgrounds.","og_url":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2017-05-16T18:32:27+00:00","article_modified_time":"2022-07-01T17:41:14+00:00","og_image":[{"width":2000,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png","type":"image\/png"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/"},"author":{"name":"Iacami Gevaerd"},"headline":"Git Etiquette: Submitting a Pull\u00a0Request","datePublished":"2017-05-16T18:32:27+00:00","dateModified":"2022-07-01T17:41:14+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/"},"wordCount":836,"commentCount":1,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png","keywords":["github","workflow"],"articleSection":["Engineering","Process"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/","url":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/","name":"Git Etiquette: Submitting a Pull\u00a0Request","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png","datePublished":"2017-05-16T18:32:27+00:00","dateModified":"2022-07-01T17:41:14+00:00","author":{"@type":"person","name":"Iacami Gevaerd"},"description":"This post was originally written as an internal article on Cheesecake Labs' wiki. It merges practices from many different cultures and backgrounds.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2017\/06\/Banner_pullrequest.png","width":2000,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/git-etiquette-submitting-pull-request\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Git Etiquette: Submitting a Pull\u00a0Request"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Iacami Gevaerd","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/iacami-300x300.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2016\/11\/iacami-300x300.jpg","caption":"Iacami Gevaerd"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/iacami\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/4519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=4519"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/4519\/revisions"}],"predecessor-version":[{"id":10293,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/4519\/revisions\/10293"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/4631"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=4519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=4519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=4519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}