title: Temporarily switch working copy to a specific Git commit
body: <p>How to switch to specific Git commit <strong>without losing all the commits made after it</strong>?</p>
  
  <p>I want that local files will be changed, but commits' database will remain intact, only the current position pointer is set to currently selected commit.</p>
  
  <p>I want to change files' state to specific commit, run project and, when finished, restore files back to last commit.</p>
  
  <p>How to do this without zipping the whole project's folder?</p>