title: Using tar archives to work with git on firewalled machine
body: <p>I'm probably doing something wrong. Scenario: 3 computers: server, laptop and firewalled machine, no internet connection.</p>
  
  <p>There's a git repo on the server which I want to work on on the firewalled machine, in the end transferring changes made there back to the server.</p>
  
  <p>What I'm doing now fails big time, it goes like this: I use the laptop, tar and a USB stick as transfer agents, a bit like this</p>
  
  <pre><code>laptop$ git clone http//server/.../project.git
  laptop$ tar cvzf project.tar.gz project
  </code></pre>
  
  <p>then move the tar via USB to the firewalled machine, where I do:</p>
  
  <pre><code>fwm$ tar xvzf project.tar.gz
  fwm$ cd project
  fwm$ git branch -a
  * master
    remotes/origin/x1
    remotes/origin/x2
  </code></pre>
  
  <p>So far, so good. But if I now want to checkout a certain branch (say, "x1"), I get the following message:</p>
  
  <pre><code>fwm$ git co x1
  error: pathspec 'x1' did not match any file(s) known to git.
  </code></pre>
  
  <p>I can try to force my way via a full path, but that seems shaky, too:</p>
  
  <pre><code>fwm$ git co remotes/origin/x1
  Note: moving to 'remotes/origin/x1' which isn't a local branch
  If you want to create a new branch from this checkout, you may do so
  (now or later) by using -b with the checkout command again. Example:
    git checkout -b &lt;new_branch_name&gt;
  </code></pre>
  
  <p>I say "shaky", because</p>
  
  <pre><code>fwm$ git status
  # Not currently on any branch.
  nothing to commit (working directory clean)
  </code></pre>
  
  <p>What am I doing wrong and what would be the correct way in this scenario?</p>