<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title>Chemaclass - code-review</title><subtitle>Tech Lead sharing practical insights on software craftsmanship, TDD, leadership, Bitcoin, and AI. Blog posts, book summaries, and conference talks.</subtitle><link rel="self" type="application/atom+xml" href="https://chemaclass.com/tags/code-review/atom.xml"/><link rel="alternate" type="text/html" href="https://chemaclass.com"/><generator uri="https://www.getzola.org/">Zola</generator><updated>2025-04-12T00:00:00+00:00</updated><id>https://chemaclass.com/tags/code-review/atom.xml</id><entry xml:lang="en"><title>Ship, Show, Ask</title><subtitle>Match the review to the risk, not the ritual</subtitle><category term="agile" scheme="https://chemaclass.com/tags/agile/" label="Agile"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="team-management" scheme="https://chemaclass.com/tags/team-management/" label="Team Management"/><category term="productivity" scheme="https://chemaclass.com/tags/productivity/" label="Productivity"/><published>2025-04-12T00:00:00+00:00</published><updated>2025-04-12T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/blog/ship-show-ask/"/><id>https://chemaclass.com/blog/ship-show-ask/</id><summary type="html">Not every change needs the same review. Ship, Show, Ask matches the review process to the risk of the change, so teams keep shipping without losing quality or collaboration.</summary><content type="html">&lt;p>In fast-moving teams, one of the biggest tensions we face is this: How do we keep shipping without compromising quality or collaboration?&lt;/p>
&lt;p>The traditional approach to pull requests often slows things down. We wait hours, or days, for approvals, even for trivial changes. But the alternative, merging directly, can feel reckless or invisible to the rest of the team.&lt;/p>
&lt;span id="continue-reading">&lt;/span>
&lt;p>That’s where the Ship-Show-Ask strategy comes in. Originally described by &lt;a rel="external" href="https://martinfowler.com/articles/ship-show-ask.html">Rouan Wilsenach&lt;/a>, this model offers a more flexible and thoughtful way to handle code changes. It’s not just a branching strategy, it’s a shift in how teams collaborate, trust, and take ownership.&lt;/p>
&lt;h2 id="what-is-ship-show-ask">What is Ship, Show, Ask?
&lt;a class="heading-anchor" href="#what-is-ship-show-ask" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>It’s a model that classifies changes based on how much review they require:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Ship&lt;/strong>: Merge directly to main (without a PR)&lt;/li>
&lt;li>&lt;strong>Show&lt;/strong>: Open a pull request, but merge it immediately&lt;/li>
&lt;li>&lt;strong>Ask&lt;/strong>: Open a pull request and wait for review&lt;/li>
&lt;/ul>
&lt;p>The key idea is to use Ask as the default for most work, fall back to Show when the context makes it safe, and avoid Ship (or reserve it for extremely trivial cases, if used at all).&lt;/p>
&lt;h2 id="why-i-prefer-to-ask-and-show">Why I prefer to Ask and Show
&lt;a class="heading-anchor" href="#why-i-prefer-to-ask-and-show" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Treat every change, even the small ones, as something worth sharing. I always create a branch and open a PR. It provides visibility, builds a shared history, and creates a space for optional or asynchronous feedback. It’s &lt;a href="/blog/working-with-the-garage-door-open/">working with the garage door open&lt;/a>, applied to code.&lt;/p>
&lt;p>But not all PRs need to follow the same review process.&lt;/p>
&lt;h3 id="i-default-to-ask">I default to Ask
&lt;a class="heading-anchor" href="#i-default-to-ask" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>I prefer to wait for a peer review when:&lt;/p>
&lt;ul>
&lt;li>The change involves risky or complex logic&lt;/li>
&lt;li>It could impact other developers or teams&lt;/li>
&lt;li>It introduces architectural or structural decisions that haven’t been agreed on yet&lt;/li>
&lt;li>It benefits from shared input or a second pair of eyes&lt;/li>
&lt;/ul>
&lt;p>That said, &lt;strong>Ask doesn’t mean over-engineering the process&lt;/strong>. Often, one thoughtful reviewer is enough, especially if they’re familiar with the domain. If the change touches a specific area, I’ll ask for feedback from the person who owns (or best understands) that part of the code. It doesn’t need to involve everyone.&lt;/p>
&lt;blockquote>
&lt;p>In small teams, requiring two approvals on every PR can quickly become a bottleneck and slow down the delivery of value. The goal is alignment and quality, not ceremony for its own sake.&lt;/p>
&lt;/blockquote>
&lt;h3 id="i-use-show-for-safe-low-impact-changes">I use Show for safe, low-impact changes
&lt;a class="heading-anchor" href="#i-use-show-for-safe-low-impact-changes" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>I might merge immediately when:&lt;/p>
&lt;ul>
&lt;li>Practicing &lt;a href="/blog/effective-pair-programming/">pair programming&lt;/a> (the review already happened live)&lt;/li>
&lt;li>Fixing typos or broken links&lt;/li>
&lt;li>Updating documentation or changelogs&lt;/li>
&lt;li>Refactoring within a module I own&lt;/li>
&lt;li>Adding tests for existing behavior&lt;/li>
&lt;li>Making non-functional tweaks (formatting, logs, comments)&lt;/li>
&lt;li>Applying UI or style adjustments with no logic change&lt;/li>
&lt;/ul>
&lt;p>The key principle: &lt;strong>Show is optional, never mandatory&lt;/strong>. I choose Show only if the change is low-risk and fits within team expectations. When I use Show, I own the outcome. The responsibility is mine.&lt;/p>
&lt;h2 id="why-this-approach-works-for-me">Why this approach works for me
&lt;a class="heading-anchor" href="#why-this-approach-works-for-me" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>This model helps me:&lt;/p>
&lt;ul>
&lt;li>Ship faster without compromising quality&lt;/li>
&lt;li>Work with greater autonomy and ownership&lt;/li>
&lt;li>Avoid bottlenecks, especially in small or async teams&lt;/li>
&lt;li>Foster a mindset of trust, accountability, and thoughtful decision-making&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>It shifts the goal from getting approval to sharing intent and owning the outcome.&lt;/p>
&lt;/blockquote>
&lt;h2 id="what-makes-a-good-show">What makes a good “Show”?
&lt;a class="heading-anchor" href="#what-makes-a-good-show" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>A Show PR might be the right choice when:&lt;/p>
&lt;ul>
&lt;li>The change is trivial and within my area of responsibility&lt;/li>
&lt;li>No one is available to review, and waiting would block progress&lt;/li>
&lt;li>The PR includes clear context and reasoning&lt;/li>
&lt;li>I’m open to post-merge feedback&lt;/li>
&lt;li>I’m ready to follow up with adjustments if needed&lt;/li>
&lt;/ul>
&lt;h2 id="tips-for-making-it-work">Tips for making it work
&lt;a class="heading-anchor" href="#tips-for-making-it-work" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Some practical advice from experience:&lt;/p>
&lt;ul>
&lt;li>Clarify team expectations for when to use Show vs Ask&lt;/li>
&lt;li>Always provide context in your PR, even if merging immediately&lt;/li>
&lt;li>Write tests for any new logic or behavior&lt;/li>
&lt;li>Welcome post-merge feedback, review doesn’t stop at merge&lt;/li>
&lt;li>Reflect regularly as a team and adjust the approach as needed&lt;/li>
&lt;/ul>
&lt;hr />
&lt;p>Ship, Show, Ask is more than branching hygiene. It builds a culture of clarity, accountability, and trust, where developers move fast while staying thoughtful.&lt;/p>
&lt;p>If you’re tired of slow PR queues and over-engineered approvals, try it on your next change. Want to dive deeper? Read &lt;a rel="external" href="https://martinfowler.com/articles/ship-show-ask.html">Rouan Wilsenach’s original post&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>Match the review to the risk. Own what you merge.&lt;/p>
&lt;/blockquote>
&lt;p>&lt;img src="/images/blog/2025-04-12/footer.webp" alt="blog-footer" />&lt;/p></content></entry><entry xml:lang="en"><title>Pull Requests vs Pair Programming</title><subtitle>Why choosing when you can have both?</subtitle><category term="pair-programming" scheme="https://chemaclass.com/tags/pair-programming/" label="Pair Programming"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="agile" scheme="https://chemaclass.com/tags/agile/" label="Agile"/><category term="communication" scheme="https://chemaclass.com/tags/communication/" label="Communication"/><published>2021-04-01T00:00:00+00:00</published><updated>2021-04-01T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/blog/pull-request-vs-pair-prog/"/><id>https://chemaclass.com/blog/pull-request-vs-pair-prog/</id><summary type="html">Let's talk about the benefits of Pull Requests and Pair Programming, and my thoughts on these after some years of experience with them.</summary><content type="html">&lt;p>Let’s talk about the benefits of Pull Requests and Pair Programming, and my thoughts on these after some years of experience with them.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h2 id="pull-requests">Pull Requests
&lt;a class="heading-anchor" href="#pull-requests" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>A Pull Request (PR) is basically a way of showing your suggested code changes such that they are easily comparable with the existing source code. This is part of a workflow that helps developers to share knowledge about the changes that are being done within the system.&lt;/p>
&lt;blockquote>
&lt;p>A Pull Request is the moment where you ask your peers to review and check out your code changes.&lt;/p>
&lt;/blockquote>
&lt;p>Usually, it’s also used:&lt;/p>
&lt;ol>
&lt;li>For discussions about code style.&lt;/li>
&lt;li>To spot potential bugs.&lt;/li>
&lt;li>For architectural or design discussions once the solution is done.&lt;/li>
&lt;/ol>
&lt;h3 id="pull-requests-aren-t-the-best-tool-for-everything">Pull Requests aren’t the best tool for everything
&lt;a class="heading-anchor" href="#pull-requests-aren-t-the-best-tool-for-everything" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>The main problem with these topics above is that PR’s are usually ready when the feature/bug is already being worked on and in the last stage of its development process.
It [a PR] is an “already changed proposal [I have already worked on this change, here’s the code] to be merged into the current system [someone please look it over]”.&lt;/p>
&lt;p>The concept of “Draft PR” exists to make explicit that a PR is not ready to be merged, so it’s still a “work in progress thing”, but that’s another topic.&lt;/p>
&lt;p>Pull Requests are, indeed, one of the best tools that we have in our industry to share knowledge about the changes that we are doing in the system, but sometimes they might be misused, as for example:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Discussions about code style&lt;/strong>. Code style shouldn’t be discussed in a PR. There should be already a CI running a code style checker, that’s all. If you want to talk about code style, request a change in your code style checker, but not in a random PR.&lt;/li>
&lt;li>&lt;strong>Spot bugs&lt;/strong>. Bugs and desired behavior should be covered by automated tests. The developer is the first responsible person for this topic.&lt;/li>
&lt;li>&lt;strong>Architectural or design discussions&lt;/strong>. Once a particular solution is developed and ready for review, it is usually really hard to “rollback” that idea and rewrite it again. Because “why would you do that? For some subjective opinion? It’s done already. And it seems to work just fine.”&lt;/li>
&lt;/ol>
&lt;p>Having an extra person looking at the changes that we have done for “designing decisions” might be beneficial, but we could have addressed “potential disagreements” in a sooner stage.&lt;/p>
&lt;h3 id="what-should-the-purpose-of-a-pull-request-be">What should the purpose of a Pull Request be?
&lt;a class="heading-anchor" href="#what-should-the-purpose-of-a-pull-request-be" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;ol>
&lt;li>Sharing knowledge about the proposed changes with the team.&lt;/li>
&lt;li>Ensuring the team aligns and agrees across the multiples changes that are getting submitted every day in order to keep a healthy direction for the project. Yes, this might include double-checking the outcome design, but… What if that is now too late? How could we solve all those issues?&lt;/li>
&lt;/ol>
&lt;h2 id="pair-programming">Pair Programming
&lt;a class="heading-anchor" href="#pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>The concept of “Pair Programming” can be understood from different points of view. Pair thinking and pair programming, driver-navigator roles concepts, or pure live coding from one side. Actually, this is way easier than it looks like at first instance:&lt;/p>
&lt;ul>
&lt;li>Either you watch and help the other person to write code,&lt;/li>
&lt;li>Or you type while getting another pair of eyes watching and helping you.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Pair Programming helps the team to work together.&lt;/p>
&lt;/blockquote>
&lt;p>Pair programming is the joy of working with an extra brain and another pair of eyes, where the key is to &lt;strong>build a context&lt;/strong> where you two &lt;strong>share the same goal&lt;/strong> in order to find the &lt;strong>best possible solution&lt;/strong>. All of this while learning from each other every single second.
Pair Programming is not about developing the best solution at the very beginning. It’s about making it work, sharing ideas, and finding a better solution together. After that, you can refactor and clean the code.&lt;/p>
&lt;h3 id="pair-programming-is-a-continuous-code-review">Pair Programming is a continuous code review
&lt;a class="heading-anchor" href="#pair-programming-is-a-continuous-code-review" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Pull Requests are an asynchronous way to share code changes, while Pair Programming is totally &lt;strong>synchronous&lt;/strong> because it happens at the same time.&lt;/p>
&lt;p>That said, Pull Requests and Pair Programming aren’t mutually exclusive, they can coexist. They are tools, and we should wisely choose them in order to achieve our objectives.&lt;/p>
&lt;p>The most common fear that I saw while encouraging to do Pair Programming is that some people are shy and they don’t like to have other eyes around them while they are coding because of:&lt;/p>
&lt;ul>
&lt;li>Fear that they don’t know what to code or where to start.&lt;/li>
&lt;li>Fear that others will laugh at their solutions.&lt;/li>
&lt;li>Fear to not succeed in public.&lt;/li>
&lt;li>Fear to not be able to develop the expected solution for multiple reasons: misunderstanding the task or lack of knowledge.&lt;/li>
&lt;li>Fear to change your mind in front of others.&lt;/li>
&lt;li>Fear to discuss and make decisions loud.&lt;/li>
&lt;li>Fear of disagreeing with others.&lt;/li>
&lt;/ul>
&lt;h2 id="after-several-years-of-experience-on-this-topic">After several years of experience on this topic
&lt;a class="heading-anchor" href="#after-several-years-of-experience-on-this-topic" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>The pattern which rejects Pair Programing is basically “fear”, and being out of your comfort zone. And this is due to the misunderstanding of the roots of the actual Pair Programming concept.&lt;/p>
&lt;p>Pair Programming is not “to show off in front of your colleagues” or “to be screwed by your peers”, but to be transparent (showing your skills as they really are) and improve as a team lifting up each other.&lt;/p>
&lt;p>Programming is an iterative process that needs a continuous refactoring of our way of thinking in order to achieve better solutions, day by day. Therefore, programming with another person next to you (with a different way of thinking) will help the team to get the best from each other while discarding the waste or bad habits if necessary.&lt;/p>
&lt;p>Pair Programming doesn’t need to be always set for everything. As a tool, it’s flexible, and we can choose how, when and for what reason.&lt;/p>
&lt;p>A personal rule of thumb, before starting tasks that might involve touching multiple modules or complex business rules, think about a quick Pair Thinking/Programming with another more experienced colleague in that field.&lt;/p>
&lt;blockquote>
&lt;p>Everything depends on a particular context and people: the developers, the pairs, the tasks, the mood.&lt;/p>
&lt;/blockquote>
&lt;h3 id="still-uncomfortable-with-pair-programming">Still uncomfortable with Pair Programming?
&lt;a class="heading-anchor" href="#still-uncomfortable-with-pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>If you still feel uncomfortable having another person next to you while you write code, it might be because you aren’t particularly happy with your own code, or the process that you follow in order to achieve some result. My favorite way to work on this is by exercising on your own and working on improving your skills as a software developer.&lt;/p>
&lt;ul>
&lt;li>Create and play around with your own pet projects.&lt;/li>
&lt;li>Work on code katas on your own and with others.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Practice makes the master.&lt;/p>
&lt;/blockquote>
&lt;h2 id="keep-pull-requests-add-pair-programming">Keep pull requests, add pair programming
&lt;a class="heading-anchor" href="#keep-pull-requests-add-pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Don’t get me wrong, Pull Requests are great. Keep doing them.&lt;/li>
&lt;li>Team collaboration is essential. Pair Programming aims for this.&lt;/li>
&lt;li>Pair Programming encourages the team to proactively work together.&lt;/li>
&lt;li>Don’t be afraid of coding while having eyes around you. Ask questions when something is unclear. Ask for help when you don’t know how to solve something.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>It’s totally ok not knowing everything. The most important thing is to know how to work together.&lt;/p>
&lt;/blockquote>
&lt;p>&lt;img src="/images/blog/2021-04-01/footer.webp" alt="two developers pair programming" />&lt;/p></content></entry><entry xml:lang="en"><title>Sharing Your Git Patches</title><subtitle>Another way of sharing quick suggestions with your team</subtitle><category term="git" scheme="https://chemaclass.com/tags/git/" label="Git"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="communication" scheme="https://chemaclass.com/tags/communication/" label="Communication"/><category term="pair-programming" scheme="https://chemaclass.com/tags/pair-programming/" label="Pair Programming"/><published>2020-12-01T00:00:00+00:00</published><updated>2020-12-01T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/blog/sharing-git-patches/"/><id>https://chemaclass.com/blog/sharing-git-patches/</id><summary type="html">Discover another way of sharing suggestions with your development team.</summary><content type="html">&lt;p>Discover another way of sharing suggestions with your development team.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h3 id="imagine-this-situation">Imagine this situation
&lt;a class="heading-anchor" href="#imagine-this-situation" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>You are reviewing a Pull Request (PR), and you see some minor improvements or suggestions that you would like to share with the author. You might write some comments, and usually, that would be sufficient.&lt;/p>
&lt;p>Imagine that in order to transmit your “whole idea” you would need to change some files because just communicating the full picture will end up in a huge comment which might be not as clear as it could be.&lt;/p>
&lt;h2 id="what-possibilities-are-there-apart-from-just-comments-in-a-pr">What possibilities are there apart from just comments in a PR?
&lt;a class="heading-anchor" href="#what-possibilities-are-there-apart-from-just-comments-in-a-pr" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Well, there are multiple options. The key is to be aware of them and use them wisely depending on the priority of the task and the changes themselves:&lt;/p>
&lt;ul>
&lt;li>As already mentioned, writing a comment as feedback is a good idea by default, but not the only one.&lt;/li>
&lt;li>We can always do some pair-thinking, talk at any time. Communication is always good in order to clarify the possible uncertainty.&lt;/li>
&lt;li>Sharing your git patches is another good option.&lt;/li>
&lt;/ul>
&lt;h2 id="git-diff-to-the-rescue">Git diff to the rescue!
&lt;a class="heading-anchor" href="#git-diff-to-the-rescue" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>What if you (as a reviewer) could share your idea without any single commit or comment in the PR, but sharing your changes directly with the author?&lt;/p>
&lt;p>Well, that’s actually possible and really easy. As you already know, the git diff command gives you the differences between any two branches.&lt;/p>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> diff&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> develop&lt;/span>&lt;span style="color: light-dark(#D73A49, #F97583);"> &amp;gt;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../my-origin-develop.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;p>What we are doing here is redirecting the output of the diff command into a file (aka: patch), so we can share that output with any other peer-team.&lt;/p>
&lt;h2 id="what-now">What now?
&lt;a class="heading-anchor" href="#what-now" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Well, having that patch file, it’s pretty easy to apply those changes in your local machine without doing any commit:&lt;/p>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> apply&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../my-origin-develop.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;p>Applying this patch will simply change your local system in the same way the patch was created.&lt;/p>
&lt;h2 id="how-to-by-steps">“How to” by steps
&lt;a class="heading-anchor" href="#how-to-by-steps" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Let’s divide the responsibilities into two: the creator of the patch and its user:&lt;/p>
&lt;h3 id="the-patch-creator-the-person-who-will-create-the-patch">The patch creator: the person who will create the patch
&lt;a class="heading-anchor" href="#the-patch-creator-the-person-who-will-create-the-patch" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Checkout that branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> pull&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> the-branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Do your suggestions and changes in the targeted branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Generate the patch file using the diff command&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> diff&lt;/span>&lt;span style="color: light-dark(#D73A49, #F97583);"> &amp;gt;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../your-diff.patch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Share the patch file with the author of the PR&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;h3 id="the-patch-user-the-person-who-will-see-the-patch">The patch user: the person who will see the patch
&lt;a class="heading-anchor" href="#the-patch-user-the-person-who-will-see-the-patch" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Ensure you are in that branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> pull&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> the-branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Apply the patch file&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> apply&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../your-diff.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;hr />
&lt;h4 id="references">References
&lt;a class="heading-anchor" href="#references" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h4>
&lt;ul>
&lt;li>&lt;a rel="external" href="https://git-scm.com/docs/git-apply">Official documentation for “git apply”&lt;/a>&lt;/li>
&lt;/ul></content></entry></feed>