title: Git submodule track branch effectivly
body: <p>I'd like to promote the idea of monorepo within my company.<br>
  I'd plan to use them this way:</p>
  
  <p>I have one <strong>'parent'</strong> repo <em>holding one submodule for each components of our stack</em>, thus maintaining a global versioning for the whole stack (we can simply checkout every components on a given branch)</p>
  
  <p>This sounds perfect because we can still benefit of any CI services out of the box (has we still push on independent git repo, the submodules).</p>
  
  <p>The only (terrible) weakness with this approach, is that if a do a</p>
  
  <pre><code>git submodule update --remote
  </code></pre>
  
  <p>Using the following config:</p>
  
  <pre><code>[submodule "commonLib"]
     path = commonLib
     url = git@github.com:org/commonLib.git
     branch = MY_BRANCH
  </code></pre>
  
  <p>Each submodule is effectively check-outed at the right commit.</p>
  
  <p>But: <strong>They are all in detached Head</strong></p>
  
  <p>Why there no way to effectively use gitsumodule with branch.
  i.e: when updating, effectivly check-out the branch and not the commit pointed by this branch ?
  Is there for a technical reason or simply not yet implemented in git ?</p>
  
  <p>Thanks</p>