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.

  • How do I use tig to view the diff for a file which is changed but not commited?
  • Partial git apply
  • Gulp deploy dist folder of Node app to Heroku
  • Adding to someone else’s pull request on a GitHub project that I do not own
  • Git “Cannot create a tree from a not fully merged index”
  • How to delete a commit on a git remote?
  • 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 push fails to github: failed to read object
  • Why does git fetch fail with “Could not resolve host: (nil)…” with https://github.com/mxcl/homebrew origin?
  • Trying to understand what Travis CI does and when it should be used
  • Ignore new commits for git submodule
  • Merge different issues on github
  • Who gets credit for a hand-edited patch file?
  • 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.