skip to Main Content

Hi
We’re a small web development company with 3 Lunarpages dedicated Plesk/Apache/MySQL/CentOS servers hosting around 70 websites each. We connect via ftp and each server houses our sites in folders i.e. /var/www/vhosts/[domain]/httpdocs

One of our programmers has moved overseas, and for now our “version control” is to just have him download the latest versions of any files he’s working on from the ftp before he starts work. Not ideal, and doesnt allow us to work concurrently on one site, and we’ve already had problems with him overwriting my changes and so on.

I’ve been looking for a way to integrate version control into what we’re doing.

I’ve looked at online services like beanstalkapp, codesion etc but they either restrict the number of repositories on an account (we have a lot of sites) or they limit how many ftp servers you can connect to.

So my current thinking is to install git (I’m fairly UNIX-savvy) on the dedicated servers and use a front end client (mac and pc) to check out manage changes.

Does anyone have experience or recommendations on the best way to implement version control in our situation?

Many thanks in advance

Lucas

3

Answers


  1. Your thoughts are spot-on, in my opinion. I host my own Git repositories, even for stuff that I work on by myself. If you need hosting, you can purchase closed repository hosting from Github. But if you don’t want that, all you need to host Git is sshd.

    Login or Signup to reply.
  2. First of all, I’d switch to ssh/scp instead of ftp. ssh is much more secure.

    Once ssh is in place, it’s pretty simple to install git on those machines. You can do the checkouts using a cron job to update the sites (I suppose you don’t want a .git directory in yout httpdocs).

    Advantage of git (or mercurial for that matter) is that your colleague does not have to be on line for every commit he makes, which will make the change history much more concise.

    Login or Signup to reply.
  3. Git doesn’t need a “dedicated server” per se. You just need to have a machine that is accessible by all your users.

    Secondly, there aren’t really the concepts of ‘server-side’ and ‘client-side’ in git. This is unique to distributed version control, and is a main distinction from SVN.

    I would start by reading an introduction to git concepts.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search