title: Suggestions for git workflow for multiple projects and non-developers
body: <p>I have what I think is an interesting use case that I think git could help with, but I am at a loss for how to organize such a repository. We have a small team (4-6 programmers) who are responsible for writing scripts and small programs that move from Developing > Staging > Production phases. No one on our team has any experience with a VCS/DVCS and right now, version control is managed by file name conventions on their local machines, and the production code sits on a central server.</p>
  
  <p>In the next 6 months, we will be moving from local development environments (each programmer has a number of development tools running on their local machine) to a central server model. This central server model will also require our programmers to have their files hosted on server, instead of locally. We would like to move toward (any kind of) VCS at the same time as this migration.</p>
  
  <p>So some specifics:</p>
  
  <ul>
  <li>Production code can either be project-specific or more general, and used by multiple programmers</li>
  <li>Project-based code can either be a single file or small number of files (so from this perspective, having individual git repos sees inefficient)
  *It's very unlikely that two programmers would need to work on the same file at the same time</li>
  <li>Our workflow should incorporate Development, Staging and Production code</li>
  <li>Our programmers may occasionally need access to Development code, such as when someone goes on vacation (but I suppose this can be worked around)</li>
  </ul>
  
  <p>I don't have any experience with git other than very simple local repos for my own projects. From what I've been reading, git is light-weight and flexible enough to accommodate a wide range of configurations.</p>
  
  <p>Any suggestions?</p>