How to git cherrypick all changes introduced in specific branch : <p><strong>Background info:</strong> </p>

<p>Due to restrictions in workflow with out existing systems, we need to set up a somewhat unorthodox git process. </p>

<pre><code>(patch)    A-B---F
             |   |
(hotfix)     C-D-E
                 |
(dev)      1-2-3-G
</code></pre>

<p>On the patch branch, there are some commits. The files here are similar but not identical to the ones on dev (sync scripts switch around the order of settings in many of the files, making them appear changed while they are functionally the same). </p>

<p>A fix is needed on this branch so a hotfix branch is created and worked on. This branch is then merged back into patch, so far, so good.</p>

<p>This same fix needs to be deployed to the dev branch so it stays relatively in sync with patch, but trying to merge the hotfix branch leads to git trying to merge all the unrelated and 'unchanged' files from A and B as well, rather than only C,D and E.</p>

<p><strong>Question:</strong></p>

<p>It seems that cherry-pick does what we want in terms of only getting changes from selected commits, but I would really like a way to cherry-pick all commits in a given branch at once, without having to look up the commit ids every time.  </p>
