title: How can I clone a git repository and keep remotes?
body: <p>So I've created a git repository, set up some tags and remotes on my working copy, and then pushed the repository to my server with</p>
  
  <pre><code>git push --mirror my.remote.repository
  </code></pre>
  
  <p>Supposedly, pushing with git --mirror will also push the remotes that I've set up.</p>
  
  <p>However, if I do</p>
  
  <pre><code>git clone my.remote.repository
  </code></pre>
  
  <p>I don't see the remotes that I created originally. Do I need special syntax to also clone the remotes? Does mirror not actually send remotes? Where did I go wrong?</p>
  
  <p>Edit: Maybe my workflow is weird: Here's what I'm trying to accomplish.
  The repo is initially a clone of another project(A) that I don't control, where I've renamed the remote to 'upstream'. I've made a new 'master' branch, and intend to make changes to my working copy and deploy them. I will occasionally pull updates from the original repository (A) (switching to the original, unmodified branch and pulling from upstream). However, I'm working with other people, all of whom should be able to do this as well. The goal is to update the master branch with bug fixes from the initial repository(A) and commit the changes to the 'master' branch. Because of this, when a developer clones the repository, they should be inheriting the upstream branch so that they can actually do this. In short, I'm trying to use an 'upstream' branch to pull in updates from a different project. I haven't used a submodule to do this since the 'upstream' branch actually is responsible for 95% of the files in the repository and the entire project makes no sense without the files from upstream.</p>