title: Git branch structure for Client & Server
body: <p>For one of my CS classes, I and a group are writing an application using a client/server architecture.  I was curious what the best-practices would be for organizing the project in a Git repository.  What I mean, is whether we should structure the directories like this:</p>
  
  <pre><code>ProjectDir/
      Clients/
          Client1/
              # files...
          Client2/
              # files...
      Server/
          files....
  </code></pre>
  
  <p>and track everything on the same git branch, or whether we should create separate branches for the clients and the server, like:</p>
  
  <p>on branch <code>Server</code>:</p>
  
  <pre><code>Project/
      Server/
          # files...
  </code></pre>
  
  <p>on branch <code>Clients</code>:</p>
  
  <pre><code>Project/
      Client1/
          # files...
      Client2/
          # files...
  </code></pre>
  
  <p>I don't know if it makes much of a difference, but this will be the first project I undertake using git where the team consists of more than a couple people, and I want to make sure the pulls and merges are as simple as possible...</p>