title: What is the Difference Between fetch and branch in the Git config file
body: <p>The <code>config</code> file of a Git repository has under <code>[git-svn remotes]</code> both <code>fetch</code> and <code>branch</code> paths. The config file can even have multiple <code>fetch</code> lines and multiple <code>branch</code> lines. What is the reason to have (and what is the difference between) both <code>fetch</code> and <code>branch</code>? When I do a <code>git svn fetch --all</code>, I get updates for the trunk in <code>fetch</code> and from all the other <code>branch</code> lines as well. So it seems there is no difference. Is there any drawback if I just list all my branches using multiple <code>branch</code> and not have <strong>any</strong> <code>fetch</code> line?</p>
  <pre><code>[svn-remote &quot;messy-repo&quot;]
      url = http://server.org/svn
      fetch = trunk/project-a:refs/remotes/project-a/trunk
      fetch = branches/demos/june-project-a-demo:refs/remotes/project-a/demos/june-demo
      branches = branches/server/*:refs/remotes/project-a/branches/*
      branches = branches/demos/2011/*:refs/remotes/project-a/2011-demos/*
  </code></pre>