title: git subtree push changes back to subtree project
body: <p>The short of what's below: I want to push commit messages to a subtree, but only the messages that apply to that tree.  How do I do this?</p>
  <hr />
  <p>I have two projects, <code>Master</code> and <code>Slave</code>.  <code>Slave</code> is checked out as a subtree of <code>Master</code> checked out to <code>lib/slave</code> via <code>git subtree merge --prefix=lib/slave --squash projects/slave</code> where <code>projects/slave</code> is a branch that <code>Slave</code> is checked out into:</p>
  <p>Branches:</p>
  <p>master
  projects/slave → slave</p>
  <p>Now I'm working on my <code>master</code> branch, making commits to files that are part of both projects, everything is going smoothly.  Now I want to push changes back to <code>Slave</code>:</p>
  <ul>
  <li>git checkout slave</li>
  <li>git merge ??? master</li>
  </ul>
  <p>If I do a normal merge I get commits for every commit to master, whether or not any files in <code>lib/slave</code> were modified.  Or I can do a <code>--squash</code> and only get a single commit, but I lose the log messages.</p>
  <p>So how do I get the appropriate log messages?  e.g. if my <code>master</code> log history is:</p>
  <ul>
  <li>added images to master</li>
  <li>modified files in slave only</li>
  <li>more changes to master only</li>
  <li>modified files in master and slave</li>
  </ul>
  <p>I'd want this added to <code>Slave</code>:</p>
  <ul>
  <li>modified files in slave only</li>
  <li>modified files in master and slave</li>
  </ul>