title: What are the differences between git cherry-pick and git show | patch -p1?
body: <p>I ran into a situation where <code>git cherry-pick X</code> would have some conflicts, but also created extra inserts (when verified with <code>git diff</code>).</p>
  
  <p>I then re-ran <code>git show X &gt; my.patch</code>, and then did <code>patch -p1 &lt; my.patch</code> on my tree.
  I got better results, some conflicts, but a much cleaner result.</p>
  
  <p>What does git does special with cherry-picks? I use git 1.7.0.4.</p>
  
  <p><strong>Edited:</strong>
  By cleaner results, I mean the resulting tree matched a lot more the results of <code>git show X</code>, whereas the <code>git cherry-pick</code> included a lot more code.</p>