Using git for a large website

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.

  • Getting only files in a branch diff
  • GIT: how to revert back only one historical change while keep others as they are?
  • gitignore: Ignoring a folder (anywhere) except for a subfolder (anywhere)
  • Add patch in git, all hunks matching regex in file
  • Creating a new minor version between two releases
  • How to wrap the bash shell from Github for Windows in Console2?
  • 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.

  • git: recovering server/remote repository from backup
  • git: get path of current directory, relative to root of repo
  • In Git, how can I reorder (changes from) pushed commits?
  • How to synchronize two branches in the same Git repository?
  • bash/zsh prompt displaying Git repository data right-aligned
  • Easy-to-backup version control for windows single developer
  • 2 Solutions collect form web for “Using git for a large website”

    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.

    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.

    Git Baby is a git and github fan, let's start git clone.