title: Host a local "fork" of a repository myself
body: <p>I want to simulate forking (as GitHub does it) a repository.</p>
  
  <p>Essentially I want a local copy of a repository that is already hosted on GitHub, that I can push to and use as the remote in a project I will develop.</p>
  
  <p>I don't want to directly clone the GitHub repository, because I don't have push access. However, I do want a remote (the "fork") that I will have push access to, because I want to keep a copy of my source in a more central location</p>
  
  <ul>
  <li>in case anything happens to my development environment</li>
  <li>for when I switch development environments</li>
  </ul>
  
  <p>I think the "fork" can be created with either</p>
  
  <ul>
  <li><code>git clone --mirror https://github.com/user/repo</code></li>
  <li>or <code>git clone --bare https://github.com/user/repo</code></li>
  </ul>
  
  <p>but I am not clear on the differences between <code>--mirror</code> and <code>--bare</code>: I don't know which to use. And there might be a better solution entirely.</p>
  
  <p>Then when I have "forked" it, I would like to clone the "fork" to where I will actually do development.</p>
  
  <p>What's the most sensible way to do this?</p>