title: Open old Github Commit in Visual Studio
body: <p>Steps:</p>
  <ul>
  <li>Navigate with a browser to the <em>github.com/user_name/repo_name/commits</em> page</li>
  <li>To the right of the desired repo click the far right <strong>&lt;&gt;</strong> button
  with the tooltip &quot;Browse the repository at this point in the
  history.&quot;</li>
  <li>Note the page just navigated has a URL like
  <em>github.com/user_name/repo_name/tree/Some_UID</em></li>
  <li>Click on the green &quot;<strong>Code</strong>&quot; button in the repo, then click &quot;<strong>Open
  in Visual Studio</strong>&quot;.</li>
  <li>After launching the MS VS <strong>Web Protocol Handler Selector</strong> from the
  popup dialog (with the &quot;always allow Github to ...&quot; checkbox), VS launches showing the Team Explorer dialog, with the URL of just
  the base repo (<em>github.com/user_name/repo_name</em>) in the remote URL
  box.</li>
  <li>Attempt to replace the default URL with the desired commit
  (<em>github.com/user_name/repo_name/tree/Some_UID</em>) in the box and then
  click the <strong>Clone</strong> button.</li>
  </ul>
  <p>The following message is generated at the top of the dialog:</p>
  <blockquote>
  <p>Git failed with a fatal error.
  repository 'https//github.com/user_name/repo_name/tree/Some_UID/' not found</p>
  </blockquote>
  <p>An empty directory with the name <em>Some_UID</em> is also created in the base repository directory.</p>
  <p>Is there another way, preferably from the VS/Github GUI, of opening an older commit in Visual Studio?</p>
  <p>Edit: The obvious solution is to open the Git history window in VS and right click on an old commit in order to <a href="https://stackoverflow.com/questions/19032296/how-to-use-git-revert">revert</a> to it. Given that <code>Git Revert</code> creates a new commit, which adds to the Git history chain,- the idea here was, in fact, to somehow open a new solution (in a different directory) with the old commit for quick testing, and delete it when finished. An idea which might seem feasible so long as the new (temporary) solution had no Git, or at least no bindings to Git that would point to the original solution.</p>