Why git cherry-pick leaves uncommitted changes exits with non-zero
<p>Very often, my git appears like this:</p>

<pre><code> A &lt;- B &lt;- C &lt;- D &lt;- E &lt;- HEAD
</code></pre>

<p>It happens that I need to create a new branch based on <code>B</code> and only the changes in <code>D</code>. Here are the commands I do:</p>

<pre><code>git checkout B -q -f -b release
git cherry-pick D
</code></pre>

<p>The cherry pick commands exits with code 53 and leaves all the changes in <code>D</code> uncommitted in branch <code>release</code>.</p>

<p>More info: this is under Windows. The commands above are part of my release process which I run under PowerShell. When I do the same procedure in Git Bash, cherry pick works just fine. Is this (yet another) EOL issue? I tried adding <code>-Xignore-all-space</code> but error remains.</p>

<p>Context: as part of my release process, I pick a cut-off commit (e.g. <code>B</code>), modify version files to include build time, release author, etc. Just before I can commit my versioning changes, someone else introduces commit <code>C</code>. When I commit my versioning changes, it becomes <code>D</code>. My release process above is to ensure that binaries are compiled with <code>A &lt;- B &lt;- D</code>. How can I make that happen smoothly?</p>