title: How to duplicate remote branch in Git without checkout?
body: <p>Is it possible, in Git, to duplicate remote branch in the way that do not change local files? If not, what are the minimal changes that must be done to achieve this?</p>
  
  <p>By saying do not change local files I mean do not change them at all during the whole process. Stashing them and bringing back later is treated as a change. Checkout obviously is changing local files, they will change to reflect the state of the branch you are checking out.</p>
  
  <p>Example, branches before:</p>
  
  <ul>
  <li>origin/master (at commit1)</li>
  <li>master (at commit2, some loose files as well)</li>
  </ul>
  
  <p>Branches after:</p>
  
  <ul>
  <li>origin/master (at commit1)</li>
  <li>origin/master-copy (at commit1)</li>
  <li>master (no changed at any step during process, still at commit2, the same loose files as above)</li>
  </ul>