views:

168

answers:

2

I am looking for some advice on how to use git for a website with a lot of html content.

We have 2 content managers that do basic html coding and upload their work to the server. I am the only developer.

The site is pretty equally divided between 2 types of content. First is a news content that is posted to a database and displayed throughout the site. The other half of the content is in html. The site uses the templating system and all of the html pages are just the content portion of the page. The templating system adds the header, footer, and navigation. The site as a whole is about 3.5gb (we have a lot of pdfs and pictures).

The first question is if I dump all of it into git what will happen? I have a feeling it will be fine at first but as changes are made and the site grows will the git repo grow to the point of being unmanageable?

Second because of the templating system the content managers cant view their work on their local machines without a full web server setup. I would like to avoid this if posible. I have a test server in the office but I can't figure out how to get git gui to run on a local machine but reference files on the remote server. Simply running git gui over ssh returns an error and teaching them all of the git commands is not going to happen.

Any suggestions would be a lot of help. We currently are not using any version control and it is a mess. People are constantly overwriting each others work and we don't have an easy way to move changes from a test server to the production server.

+4  A: 

Don't worry about size. We've pushed git into "crazy land" with a tree that's 5.9G and 57k files. The repository is 3.6G (git compresses very nicely). Checkout, merge, commit, push, pull--it's all as quick as can be. The only thing that takes time is switching to a very old branch (can take a minute or two), or cloning a fresh repository over the network (can take 10 or 20 minutes). That's just because we have so much bulk in the tree.

There are git gui front ends. If none of those work, you could put up a web server and install one of the many git web front ends.

Wayne Conrad
I'm guessing you mean G rather than M...
Michael Borgwardt
I can second this; we use git to manage a 8GB repo with >40k files, no problem.
linked
@Michael, indeed I did. Thanks.
Wayne Conrad
That answers the first part of the question. Size shouldn't be an issue. What about using git gui over ssh? Is this possible?
Kevin
git works over ssh, but I don't know about a GUI for it. Google did find this, but I can't vouch for it: http://sourceforge.net/projects/ssh-gui/
Wayne Conrad
I can't seem to find anything to make git gui work over ssh. It just means that I will need to put a full server setup on the 2 content managers computers.Thanks for the fast response to the size question.
Kevin
Kevin, You're welcome. I found a large list of git front-ends, both gui and web. I added some links to my answer.
Wayne Conrad
A: 

If you want to use distributed version control system (like Git) in an easy way then try Mercurial (hg). It works more or less like Git, but it is generally easier to use. Git, however, is more flexible and allows to do all sort of trics, but it results in a more difficult usage.

Mercurial has also very nice Windows shell extension - TortoiseHG, which makes HG usage very simple, even for someone not particularly experienced with version control.

Don't worry about repo size in either case, Linux Kernel is kept in Git, while Java 7 JDK developers use Mercurial, these are huge projects.

Piotr Kochański
I would rather not switch systems but you make a good point with the size issue.
Kevin