title: Git sub branch or similar concept
body: <p>Does git support a concept of a sub branch; ie a branch of a branch</p>
  
  <p>For example a group of teachers have a bare shared repo on a network drive (no server ssh authentication etc) that they pull and push to on a shared drive merging into master when appropriate.</p>
  
  <p>This repo would include teacher files such as worked solutions as well as student files.</p>
  
  <p>Students shouldn't clone this repo nor checkout their respective teachers branch directly as it contains the answers. </p>
  
  <p>But the repo could contain a branch for each class/topic with only student files that tracks upstream changes. Students then branch this branch to do their work. Teacher tracks the student branch as a remote and pulls in the work.</p>
  
  <p>The closest I have come to the above is cloning a single branch into a separate repo and having students branch in that repo. The problems with the above include obvious data duplication (windows support of system-links within git is poor) and extra class/topic repos that have to be kept updated with upstream changes. </p>
  
  <p>Any ideas how to better support this workflow in Git/LibGit2 ?  </p>