title: Why is git submodule not updated automatically on git checkout?
body: <p>When switching branches with git checkout I would assume that most of the time you would want to update your submodules.</p>
  
  <ul>
  <li>In what situation do you <strong>not</strong> want to update submodules after switching?</li>
  <li>What would break if this was done automatically by git checkout?</li>
  </ul>
  
  <p>Updated with example:</p>
  
  <ul>
  <li>Branch A has submodule S at 3852f1</li>
  <li>Branch B has submodule S at fd72d7</li>
  </ul>
  
  <p>On branch A, git checkout B will result in a working copy of branch B with submodule S at 3852f1 (with a modified S). git submodule update will checkout S at fd72d7.</p>