<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Why and how to correctly amend GitHub pull requests	</title>
	<atom:link href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/</link>
	<description>because there&#039;s always something more interesting than what you should be doing</description>
	<lastBuildDate>Wed, 01 Jun 2022 14:31:53 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>
		By: Adam		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1814765</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Mon, 30 Jul 2018 22:16:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1814765</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1814191&quot;&gt;Pictor13&lt;/a&gt;.

You&#039;re essentially proposing what the blog post proposes, with the addition of adding a comment referring to the PR branch&#039;s old HEAD.  However your concern about commit A being garbage-collected was spot on - this  is indeed a serious problem which I documented in https://github.com/isaacs/github/issues/997 and other issues linked from that.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1814191">Pictor13</a>.</p>
<p>You&#8217;re essentially proposing what the blog post proposes, with the addition of adding a comment referring to the PR branch&#8217;s old HEAD.  However your concern about commit A being garbage-collected was spot on &#8211; this  is indeed a serious problem which I documented in <a href="https://github.com/isaacs/github/issues/997" rel="nofollow ugc">https://github.com/isaacs/github/issues/997</a> and other issues linked from that.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Pictor13		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1814191</link>

		<dc:creator><![CDATA[Pictor13]]></dc:creator>
		<pubDate>Tue, 24 Jul 2018 02:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1814191</guid>

					<description><![CDATA[I am not much experienced with pull requests, so I could be wrong but, what if:

* the author copies the SHA of the commit where the PR is actually pointing (let&#039;s say: A)
* it resets the HEAD and fixes what&#039;s needed (let&#039;s say: B, C and D)
* pushes with force the new head of the PR (D)
* adds a comment in the PR (or directly in the commit message of B or D) referencing the reset commit (A)

This way one can see a clean pull request, but can also make sense of what changed and what previous comments are referring to, because it could go to the A commit and check its history.

I think it would be the cleaner approach.
Just my ignorance doesn&#039;t let me know if the A commit and its history (till the common ancestor with B/C/D) would still be kept available or if there is the risk that a prune will remove the A commit and its eventual history because of not being referenced by any branch or tag... ]]></description>
			<content:encoded><![CDATA[<p>I am not much experienced with pull requests, so I could be wrong but, what if:</p>
<p>* the author copies the SHA of the commit where the PR is actually pointing (let&#8217;s say: A)<br />
* it resets the HEAD and fixes what&#8217;s needed (let&#8217;s say: B, C and D)<br />
* pushes with force the new head of the PR (D)<br />
* adds a comment in the PR (or directly in the commit message of B or D) referencing the reset commit (A)</p>
<p>This way one can see a clean pull request, but can also make sense of what changed and what previous comments are referring to, because it could go to the A commit and check its history.</p>
<p>I think it would be the cleaner approach.<br />
Just my ignorance doesn&#8217;t let me know if the A commit and its history (till the common ancestor with B/C/D) would still be kept available or if there is the risk that a prune will remove the A commit and its eventual history because of not being referenced by any branch or tag&#8230; </p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adam		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1808823</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Thu, 17 Aug 2017 16:23:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1808823</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1808124&quot;&gt;Dominic Watson&lt;/a&gt;.

Thanks for the suggestion Dominic. Squash-merging can sometimes work, but it can also be very problematic.  I have  just published a follow-up blog post which goes into much more detail on this: http://blog.adamspiers.org/2017/08/16/squash-merging-and-other-problems-with-github/]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1808124">Dominic Watson</a>.</p>
<p>Thanks for the suggestion Dominic. Squash-merging can sometimes work, but it can also be very problematic.  I have  just published a follow-up blog post which goes into much more detail on this: <a href="http://blog.adamspiers.org/2017/08/16/squash-merging-and-other-problems-with-github/" rel="ugc">http://blog.adamspiers.org/2017/08/16/squash-merging-and-other-problems-with-github/</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Dominic Watson		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1808124</link>

		<dc:creator><![CDATA[Dominic Watson]]></dc:creator>
		<pubDate>Tue, 18 Jul 2017 01:53:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1808124</guid>

					<description><![CDATA[IMO you should fixup and Squash Merge. That way you have multiple commits to follow and see changes made, no references are lost and at the end you have a single commit]]></description>
			<content:encoded><![CDATA[<p>IMO you should fixup and Squash Merge. That way you have multiple commits to follow and see changes made, no references are lost and at the end you have a single commit</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Aleksey Kladov		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1781557</link>

		<dc:creator><![CDATA[Aleksey Kladov]]></dc:creator>
		<pubDate>Fri, 30 Oct 2015 07:27:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1781557</guid>

					<description><![CDATA[It is safer to use a `--force-with-lease` flag then a simple `--force`.]]></description>
			<content:encoded><![CDATA[<p>It is safer to use a `&#8211;force-with-lease` flag then a simple `&#8211;force`.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adam		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1716626</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Tue, 02 Jun 2015 16:47:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1716626</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1716611&quot;&gt;aplanas&lt;/a&gt;.

That&#039;s a great suggestion Alberto, thanks :)]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1716611">aplanas</a>.</p>
<p>That&#8217;s a great suggestion Alberto, thanks 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: aplanas		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1716611</link>

		<dc:creator><![CDATA[aplanas]]></dc:creator>
		<pubDate>Tue, 02 Jun 2015 16:07:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1716611</guid>

					<description><![CDATA[Actually I think that force push is not so wrong.  I can understand why in long PR discussions some noise appears after several forced push.  I partially resolve this creating a comment after the push where I describe the changes in the commit.

In this way the final view is a ordered list of comments from the author of the PR that describe the evolution of the code, and the reviewers can detect easily (via notification) that this change is in place.

For example:
  https://github.com/crowbar/barclamp-nova_dashboard/pull/216

There are some noise, but basically you can see the evolution of the changes over time, without creating extra PR]]></description>
			<content:encoded><![CDATA[<p>Actually I think that force push is not so wrong.  I can understand why in long PR discussions some noise appears after several forced push.  I partially resolve this creating a comment after the push where I describe the changes in the commit.</p>
<p>In this way the final view is a ordered list of comments from the author of the PR that describe the evolution of the code, and the reviewers can detect easily (via notification) that this change is in place.</p>
<p>For example:<br />
  <a href="https://github.com/crowbar/barclamp-nova_dashboard/pull/216" rel="nofollow ugc">https://github.com/crowbar/barclamp-nova_dashboard/pull/216</a></p>
<p>There are some noise, but basically you can see the evolution of the changes over time, without creating extra PR</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adam		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686862</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Fri, 17 Apr 2015 09:45:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1686862</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686750&quot;&gt;Thomas Gagne&lt;/a&gt;.

Each pull request is tied to a unique branch in your fork, so yes if you want to pile more commits on top of an existing pull request and publish them without adding them to the pull request, you need to put them on a different branch.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686750">Thomas Gagne</a>.</p>
<p>Each pull request is tied to a unique branch in your fork, so yes if you want to pile more commits on top of an existing pull request and publish them without adding them to the pull request, you need to put them on a different branch.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Thomas Gagne		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686750</link>

		<dc:creator><![CDATA[Thomas Gagne]]></dc:creator>
		<pubDate>Fri, 17 Apr 2015 00:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1686750</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686743&quot;&gt;Thomas Gagne&lt;/a&gt;.

Ok.  So I checked-out the commit.  Switched to a new branch, pushed it to the remote, then created a new pull request from the branch.

Crazy.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686743">Thomas Gagne</a>.</p>
<p>Ok.  So I checked-out the commit.  Switched to a new branch, pushed it to the remote, then created a new pull request from the branch.</p>
<p>Crazy.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Thomas Gagne		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1686743</link>

		<dc:creator><![CDATA[Thomas Gagne]]></dc:creator>
		<pubDate>Fri, 17 Apr 2015 00:31:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1686743</guid>

					<description><![CDATA[I&#039;m trying to figure out commits /after/ the pull request are included in the pull request.  I thought (or was expecting) that a pull request was specific to a commit.  I added another feature after my pull request that isn&#039;t ready to be pulled, but it&#039;s included in the original.

Is there a way to create a pull request at a specific commit hash, or must they always be fore wherever HEAD is?]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to figure out commits /after/ the pull request are included in the pull request.  I thought (or was expecting) that a pull request was specific to a commit.  I added another feature after my pull request that isn&#8217;t ready to be pulled, but it&#8217;s included in the original.</p>
<p>Is there a way to create a pull request at a specific commit hash, or must they always be fore wherever HEAD is?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: David Majda		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1681643</link>

		<dc:creator><![CDATA[David Majda]]></dc:creator>
		<pubDate>Sat, 28 Mar 2015 20:08:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1681643</guid>

					<description><![CDATA[For me, the force-push workflow doesn’t work very well.

Many times I came to a pull request which was after several rounds of reviews and updates in this style. Almost invariably, such a pull request was a big mess with commits on the main page scattered among comments which often lacked context (because they referred to code or comments that were no longer visible in the pull request). I could make sense of the whole thing only by reading a compete set of notification e-mails (if I had it), but there I often found broken links to obsolete diffs, so I still didn’t have the complete picture.

My ideal solution would be simple: Detect force-pushes on GitHub side and create a new version of the pull request each time (with a completely blank slate — just the title, description, and new set of commits). Link these versions together using next/previous links or some index. Then I’d be perfectly happy because the history and context in which comments and changes happened would be completely preserved.

As a side note, what you perceive as GitHub doing the right thing on history rewrites (hunks etc.) I always perceived as randomness. Sometimes comments were preserved, sometimes not, sometimes notification links worked after a force-push, sometimes they broke, etc. Sure, I knew there is some system behind this, but it never became obvious to me. And I know I’m not alone.]]></description>
			<content:encoded><![CDATA[<p>For me, the force-push workflow doesn’t work very well.</p>
<p>Many times I came to a pull request which was after several rounds of reviews and updates in this style. Almost invariably, such a pull request was a big mess with commits on the main page scattered among comments which often lacked context (because they referred to code or comments that were no longer visible in the pull request). I could make sense of the whole thing only by reading a compete set of notification e-mails (if I had it), but there I often found broken links to obsolete diffs, so I still didn’t have the complete picture.</p>
<p>My ideal solution would be simple: Detect force-pushes on GitHub side and create a new version of the pull request each time (with a completely blank slate — just the title, description, and new set of commits). Link these versions together using next/previous links or some index. Then I’d be perfectly happy because the history and context in which comments and changes happened would be completely preserved.</p>
<p>As a side note, what you perceive as GitHub doing the right thing on history rewrites (hunks etc.) I always perceived as randomness. Sometimes comments were preserved, sometimes not, sometimes notification links worked after a force-push, sometimes they broke, etc. Sure, I knew there is some system behind this, but it never became obvious to me. And I know I’m not alone.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Adam		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1680677</link>

		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Wed, 25 Mar 2015 00:36:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1680677</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1680660&quot;&gt;Cornelius Schumacher&lt;/a&gt;.

&lt;blockquote&gt;I have a very different view on this.&lt;/blockquote&gt;

Actually I don&#039;t think you do ...

&lt;blockquote&gt;I was bitten by force-pushed changes to pull request just a few too many times. It makes it hard or sometimes even impossible to follow what actually happened. References will be missing or be wrong (e.g. the list of commits in the initial comment of the pull request). GitHub tries to make sense of it, but it simply can’t when the history is being rewritten.&lt;/blockquote&gt;

Sure; did you read the paragraph where I wrote this, or the earlier blog post linked from it?

&lt;blockquote&gt;Now don’t get me wrong – GitHub is not perfect. In some (but not all) ways, it is inferior to Gerrit’s review system which is better at exposing the complete history of the review cycle. I previously wrote &lt;a href=&quot;http://blog.adamspiers.org/2013/05/12/in-partial-defense-of-githubs-review-system/&quot; rel=&quot;nofollow&quot;&gt;another blog post&lt;/a&gt; examining GitHub’s review system in more depth. But in general, it’s usually plenty good enough.&lt;/blockquote&gt;

I already mentioned some of these issues there.  However in practice I find it very rare that there are significant problems. 

&lt;blockquote&gt;So I very much prefer to never change history, not even of transient pull requests. Pushing additional commits to a pull request actually can be quite nice, because as a reviewer you then see how what comments have been addressed. With a force push you basically have to always review the full change again.&lt;/blockquote&gt;

As I already said, Gerrit handles this better (but Gerrit is horrible in other ways).  But you have to admit there are also disadvantages to pushing additional commits, e.g. there is no way to view the effect of some squashed commits until they are actually squashed.

&lt;blockquote&gt;Usually it is a good idea to clean up after the review and create a polished version of the pull requests with squashed commits, fixed typos in commit messages, etc. I find it a nice way to simply create a new pull request with a cleaned up version of the commits and put in the number of the original pull request in the comment. This will magically create the cross-linking between the two requests.&lt;/blockquote&gt;

That&#039;s an interesting idea, which combats one of the biggest problems of the &quot;push additional commits into the PR&quot; approach, namely pollution of the history with a bunch of ugly fixup commits.  However two PRs per topic also makes it quite a bit more heavyweight.

&lt;blockquote&gt;That is my favorite work flow. I’m sure there are seven or seventy more ;-)&lt;/blockquote&gt;

Exactly, and this flexibility is one of the joys of git (and GitHub).]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1680660">Cornelius Schumacher</a>.</p>
<blockquote><p>I have a very different view on this.</p></blockquote>
<p>Actually I don&#8217;t think you do &#8230;</p>
<blockquote><p>I was bitten by force-pushed changes to pull request just a few too many times. It makes it hard or sometimes even impossible to follow what actually happened. References will be missing or be wrong (e.g. the list of commits in the initial comment of the pull request). GitHub tries to make sense of it, but it simply can’t when the history is being rewritten.</p></blockquote>
<p>Sure; did you read the paragraph where I wrote this, or the earlier blog post linked from it?</p>
<blockquote><p>Now don’t get me wrong – GitHub is not perfect. In some (but not all) ways, it is inferior to Gerrit’s review system which is better at exposing the complete history of the review cycle. I previously wrote <a href="http://blog.adamspiers.org/2013/05/12/in-partial-defense-of-githubs-review-system/" rel="nofollow">another blog post</a> examining GitHub’s review system in more depth. But in general, it’s usually plenty good enough.</p></blockquote>
<p>I already mentioned some of these issues there.  However in practice I find it very rare that there are significant problems. </p>
<blockquote><p>So I very much prefer to never change history, not even of transient pull requests. Pushing additional commits to a pull request actually can be quite nice, because as a reviewer you then see how what comments have been addressed. With a force push you basically have to always review the full change again.</p></blockquote>
<p>As I already said, Gerrit handles this better (but Gerrit is horrible in other ways).  But you have to admit there are also disadvantages to pushing additional commits, e.g. there is no way to view the effect of some squashed commits until they are actually squashed.</p>
<blockquote><p>Usually it is a good idea to clean up after the review and create a polished version of the pull requests with squashed commits, fixed typos in commit messages, etc. I find it a nice way to simply create a new pull request with a cleaned up version of the commits and put in the number of the original pull request in the comment. This will magically create the cross-linking between the two requests.</p></blockquote>
<p>That&#8217;s an interesting idea, which combats one of the biggest problems of the &#8220;push additional commits into the PR&#8221; approach, namely pollution of the history with a bunch of ugly fixup commits.  However two PRs per topic also makes it quite a bit more heavyweight.</p>
<blockquote><p>That is my favorite work flow. I’m sure there are seven or seventy more 😉</p></blockquote>
<p>Exactly, and this flexibility is one of the joys of git (and GitHub).</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Cornelius Schumacher		</title>
		<link>https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/#comment-1680660</link>

		<dc:creator><![CDATA[Cornelius Schumacher]]></dc:creator>
		<pubDate>Tue, 24 Mar 2015 22:40:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.adamspiers.org/?p=1465#comment-1680660</guid>

					<description><![CDATA[I have a very different view on this. I was bitten by force-pushed changes to pull request just a few too many times. It makes it hard or sometimes even impossible to follow what actually happened. References will be missing or be wrong (e.g. the list of commits in the initial comment of the pull request). GitHub tries to make sense of it, but it simply can&#039;t when the history is being rewritten.

So I very much prefer to never change history, not even of transient pull requests. Pushing additional commits to a pull request actually can be quite nice, because as a reviewer you then see how what comments have been addressed. With a force push you basically have to always review the full change again.

Usually it is a good idea to clean up after the review and create a polished version of the pull requests with squashed commits, fixed typos in commit messages, etc. I find it a nice way to simply create a new pull request with a cleaned up version of the commits and put in the number of the original pull request in the comment. This will magically create the cross-linking between the two requests.

That is my favorite work flow. I&#039;m sure there are seven or seventy more ;-)]]></description>
			<content:encoded><![CDATA[<p>I have a very different view on this. I was bitten by force-pushed changes to pull request just a few too many times. It makes it hard or sometimes even impossible to follow what actually happened. References will be missing or be wrong (e.g. the list of commits in the initial comment of the pull request). GitHub tries to make sense of it, but it simply can&#8217;t when the history is being rewritten.</p>
<p>So I very much prefer to never change history, not even of transient pull requests. Pushing additional commits to a pull request actually can be quite nice, because as a reviewer you then see how what comments have been addressed. With a force push you basically have to always review the full change again.</p>
<p>Usually it is a good idea to clean up after the review and create a polished version of the pull requests with squashed commits, fixed typos in commit messages, etc. I find it a nice way to simply create a new pull request with a cleaned up version of the commits and put in the number of the original pull request in the comment. This will magically create the cross-linking between the two requests.</p>
<p>That is my favorite work flow. I&#8217;m sure there are seven or seventy more 😉</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
