title: Commiting changes in nested git subtrees
body: <p>I have been reading a lot on git subtrees as an alternative submodules and was wondering what is the best way to handle nested subtrees with regards to committing changes:</p>
  
  <p>Say you have project A with a subproject B as a subtree (so A is the parent). <br> If I make changes to B while working in A, I need to use <strong>git subtree push</strong> to push the changes onto B. <br>
  Similarly, If I make changes to B whilst working in B, to bring these updates in A I need to use <strong>git subtree pull</strong></p>
  
  <p>My question is how do you handle committing changes if you add another subproject C which is a subtree in B (ie B is the parent of C). As far as I understand, the below is how you would do it. Is there a better way?</p>
  
  <p>So say you are working in project A and then make changes to C. In order to bring these changes to C, you need to use <strong>git subtree push</strong> twice:<br> 
  1. <strong>Git subtree push</strong> from A to B, then <br>
  2. <strong>Git subtree push</strong> from B to C</p>
  
  <p>Similiary, the reverse is true when making changes in C whilst working within C and <strong>git subtree pull</strong></p>
  
  <p>This is a bit repetitive, so I was wondering if there is another way to go about it. Perhaps a better way  would to not use subtrees at all? If not, what would be an alternative?</p>