Grow your CSS skills. Land your dream job.

Poll Results: Version Control Usage

Published by Chris Coyier

The latest poll on CSS-Tricks was all about version control usage. People voted on how much they use version control, from never to using it on every single project. Here's the breakdown:

And now a few paragraphs worth of ALT text for that image:

The winning choice was "I use version control on every project I work on" at 35%. I'm not going to beat around the bush here: version control is a good idea and this amount of use is encouraging. Unfortunately the runner up at 29% is "I don't use version control." However that means 71% of people have some experience working with it which is awesome.

18% of people use it on "most" projects. That where I'd say I am. All new projects are, but I still have a few old lingering projects that I manage through FTP only. If I were to go back and do any actual work on them though, the first step would be to get them onto version control. No project is "too small."

4% of people use it about half the time and 14% use it on just a few projects.

Like anything computers, you can get super deep into the world of version control, but the very basics of it are really pretty easy. I have a screencast on using Git through Beanstalk that I think anyone could do.

New poll soon.

Comments

  1. I feel that when I want to quickly upload a small change for a client to see it is just too much effort and takes too much time to pass it through a version control system. For larger updates/changes, then yes it is worth it.

    • Permalink to comment#

      I’d say if it is just a quick change to some client website you have never worked on that is probably a good plan but if it is a quick change to a client website that you built you definitely want to maintain your version control for each and every change.

    • David
      Permalink to comment#

      Alex,

      The time and effort required is so small it is almost insignificant. You just need to get in the habit of involving source control in your workflow. The benefits are very significant.

    • Chris Goodchild
      Permalink to comment#

      I’ve lost work because of a flaky dev server and/or OS issues in the past – version control, once you’ve adopted it fully in your workflow, is the best defence against that sort of thing IMO. Even small changes may be worth tracking – you never know when a regression error might rear its ugly head and it’s very handy to have a log to point you in the right direction.

  2. Permalink to comment#

    Anyone not using version control is actually putting themselves at a serious disadvantage as far as I am concerned. Anytime I am not able to use it in a project due to circumstance beyond my control I always run into so many issues that I never have when I have everything in repositories.

    Code, sharing, deployments, code branches, etc. They show up on almost all projects and without version control they are a complete nightmare.

  3. Permalink to comment#

    Just a note: “A few projects” says 24% in the chart image. Think you meant to put 14%.

  4. I use version control as much as I can, however for me it is more of a deploying tool because I have yet to find a good way to manage WordPress locally. I’m on windows so MAMP for datebase handling isn’t an option, plus settings and plugins can be a pain to keep exactly the same.

    Any tips?

    • Permalink to comment#

      If you just want a packaged MAMP-style application for Windows, why not just use WAMP?

  5. I’m one of those 29% who said I wasn’t using version control, but if you ask me again in a few months I hope to say I use it on every project. I finally listened and have begun playing around with Git with the idea of using it for all projects.

    Still learning at this point and trying to integrate it into my workflow. You helped convince me it was something I really should be doing. Now it’s a matter of feeling comfortable enough with it to use it in production.

  6. Permalink to comment#

    The next poll should be: which version control system do you use? That would give us an insight on the work of different designers.

    • Permalink to comment#

      Or perhaps, what is your VCS software set / workflow?
      For me on Mac OS, it’s pretty basic:

      Git (easily initiated through X-code)
      SourceTree (awesome, free Git Repo GUI
      Accounts on both Github and BitBucket (free, private repos available)

      I wrote a little more about it in a blog post on my coding environment.

  7. Matthew Pilkey
    Permalink to comment#

    I do freelance contract work, and the choice of version control really depends on the client and project. Most development companies I work for set up version control and require all their team members and contractors to use it, especially on mid to large scale projects.

    Not all jobs are really suitable though, I also take on small projects to fill in my time (PSD to css/html jobs and the like) – These can take from less than a day to a week depending on the design and amount of pages, and the work is done entirely solo. Most of the time there aren’t any revisions or changes after the design is achieved in code either, if I had a client come back with an issue or request this is when I would pop the code into version control but it rarely happens on an organized project with clear requirements.

  8. I usually set up a dev.websitename.co.uk and that acts as my version control/backup, I will make any changes to dev, test them, get them approved then move over onto live server.

  9. Timothy
    Permalink to comment#

    Version control is yet another one of those things that seems really complicated until you start doing it, and then you wonder why you waited so long. :)

  10. Evert
    Permalink to comment#

    I use version control for every project. And while version control systems are great, they are not specifically aimed at web development, so for me they lack in certain areas. Most of my clients do not have the budget for a VPS so they use plain old basic webhosting. Which means I still need to maintain a non-versioned copy (master) from the live-site via FTP. Also, they lack the ability to put the live MySQL database under their umbrella.
    It would be nice if someone made a VCS specifically for webdevelopment that overcame these, and other problems.

  11. Joe
    Permalink to comment#

    I use version control a lot now. I don’t think I use it in the best way possible, but I think even using it in it’s most basic form is worth it. I pretty much use it as “ftp with memory” so I can see if I’ve screwed anything up.

  12. my ‘version control’ is simply naming the original file with ‘-bk’ on the end before i put the changed version up- but i’m working alone 99% of the time, and not on a local environment…

  13. Permalink to comment#

    I am quite surprised by the results.
    Especially the don’t use percentage.
    I mean it’s super easy to version control.
    Just use dropbox!

  14. I genuinely have no idea how I managed before version control. It was absolute madness trying to manage local files and remote files, especially when working with a CMS and templates – keeping everything in sync in multiple directories is nuts.

    I would like to find out why the 29% don’t use version control, I think if they saw the benefits (and watched Chris’s video) they’d switch it on pretty quick.

  15. I’m actually one of those that selected “I don’t use version control” but I am beginning to now. Despite GitHub being touted as very “easy” it’s actually really hard for me to grasp as a designer and only partially having my hand in the programming world. Things like “repos”, “branches” and even “fork” are not very intuitive.

    I’m still trying to understand how collaboration works in the git environment. You’ve done a lot of videos on setting up git and getting off FTP, I’d love to see how a highly collaborative project would work.

    • Nicklas
      Permalink to comment#

      +1 on all of the above. Irrelevant, but it feels like everything is 2x as hard on Windows as well.

  16. Agree with adeeb. Just use Dropbox!
    Working on my own, dropbox is pretty much all I need. If I need an older version of a file I just log in and select one from a previous date.

  17. bTrain
    Permalink to comment#

    version control has saved my life so many times I can’t even count. I will always use version control and in fact was working on a project for 2 weeks once and ended up rm-ing the wrong directory, but hadn’t initialized or committed anything yet. Never ever making that mistake again.

  18. Nicklas
    Permalink to comment#

    I really WANT to start using Version Control, but i am not yet very comfortable with the Console, and it just seems there’s no efficient way of working with it on Windows. It just feels like working with direct FTP is much (much) faster, although with Version Control you get the actual Version Control benefits. I’m sure if you really know what you’re doing it’s not as bad as i think it is. Guess i’ll just have get the thumb out of my ass and just start learning how to use it efficiently.

    • Maria
      Permalink to comment#

      GitHub for Windows makes using Git on Windows a much more friendly experience (a lot of things can be done with the click of a button or two), and it can be configured to work with non-GitHub-hosted Git repositories too.

    • Nicklas
      Permalink to comment#

      Hey Maria!

      Today when i woke up, i decided this would be the day i’d pull the thumb out of my ass and start getting to work! Said and done, i searched for “Github windows client”, and the first result is the one you linked me. It’s really intuitive to use and for someone who has no previous knowledge on how to use it, it was really easy to get started with. I just came back here to share the link, but turns out you already linked it.

  19. Dave
    Permalink to comment#

    The basics of command line Git are laughably easy. I’m not even talking about github here, just a local git repo for your own 1 person projects & experiments. There is really no reason not to use it. It really simplifies the whole “let’s try tweaking this bit” and the “oh no, what just happened??” parts of a developers workflow. You can start with a small handful of commands and it will be enough and then as you become comfortable with that, learn more about git and try some more advanced features.

This comment thread is closed. If you have important information to share, you can always contact me.

*May or may not contain any actual "CSS" or "Tricks".