title: pushing and pulling from remote git repo works but it is empty on remote server
body: <p>I have a linux server with ssh and git installed.</p>
  
  <p>I created a folder on the root directory and changed its owner to <code>mike</code> to avoid giving out root passwords to anyone.</p>
  
  <pre><code>sudo mkdir /GitRepos
  sudo chown mike:mike /GitRepos
  </code></pre>
  
  <p>Then I created an empty repo, and set it to <code>bare</code>, otherwise pushing to this repo does not work (I tried!!)</p>
  
  <pre><code>mkdir test.git
  cd test.git
  git init
  git config core.bare true
  </code></pre>
  
  <p>I then used another machine (Windows) to clone the newly created repo:</p>
  
  <pre><code>git clone ssh://mike@myLinuxServer/GitRepos/test.git
  </code></pre>
  
  <p>and that worked fine, I got an empty repo as expected.
  I added some files and committed the change.</p>
  
  <pre><code>git add .
  git commit -m "Initial commit"
  git push origin master
  </code></pre>
  
  <p>Pushing works fine. I even deleted the entire repo from the local machine, and tried to clone it again.</p>
  
  <pre><code>cd ..
  rd test /s
  git clone ssh://mike@myLinuxServer/GitRepos/test.git
  </code></pre>
  
  <p>It worked fine and I got all of the files.
  When I went to the remote Linux machine, I listed the files inside <code>test.git</code> and found it empty.
  Where did the files go?
  How can the repo receive pushes and give out files for pulls without storing the files in the repo?</p>