title: How should I employ git across 300+ websites?
body: <p>Currently I have the charge of improving some poor development practices. I inherited a production server with 300+ websites running on it all with semi-similar code bases. None of which are perfectly identical. There has been no source code management in place for all of the sites. The development team has been working with old practices of copying a directory and saving a back up instead of working and being able to roll back changes. This also makes it hard to track down who has done what on the sites code base, especially for "quick fixes". The logical conclusion for me is we need to to employ SCM. Git is my choice for this since it is easy to use and get up and running with. It also has a ton of documentation on how to use it and resolve issues that could arise. Only problem is the documentation revolves around single site usage, and not in high capacity production environments.</p>
  
  <p>I am having trouble finding any documentation on how to employ git on a production environment with this many sites. My previous experience with git has been in environments with less than 10 projects on git and each was its own repo, with these 10 projects some had thousands of sites all derived from single code base. My first thought was make every site its own repo so it could be branched and developed on individually with out effecting any other site. I have talked with a few people about the topic and they have said make all 300 sites a single massive repo, then just push and pull that entire repo up and down, this would be nearly 300GB of data being moved around. I realize Git does a incremental push and pull so it would not be 300GB worth of data being pushed and pulled each time; however, this could be thousands of files that would need to be search through for a single git status. This seems like a little overkill and has potential for a lot to go wrong especially with 5-10 of us working on multiple sites under the same massive repo.</p>
  
  <p>Which would be the best route in this case, 1 single massive repo, or hundreds of smaller repos? Or is there another option I am missing?</p>