title: packrat restore when switching between git branches with different packages
body: <p>I'm making large changes to an R project on a different git branch which includes changes to <code>packrat</code> packages and versions. When I switch back to the original master branch after making those changes, I need to run <code>packrat::restore()</code> to get back to the original project state because I am only tracking the <code>packrat.lock</code> file. Then, if I switch back to the development branch I have to run <code>packrat::restore()</code> again to pick up where I left off with the new changes. </p>
  
  <p>Do I have this correct? Can you suggest a better workflow that eliminates the need to run <code>packrat::restore()</code> which can take a lot of time?</p>
  
  <p>This also makes it difficult to schedule jobs to run automatically from the master branch. I have to make sure to switch to the master branch and run <code>packrat::restore()</code> before scripts are scheduled to run, and I can't work on the development branch while the background jobs are running.</p>