views:

200

answers:

3

I'm currently involved in a large project - the redevelopment of a corporate website.

The project involves many staff across several teams (content, design, etc).

There is a small team (myself and another developer) in charge of the front-end/presentation layer of the system - that is - the development of templates using HTML, CSS and Javascript.

Code quality, iterative development and frequent testing are an important aspect of the project.

The back-end development team currently use CVS; however it's taking IT so long to give access to my team that I'm considering setting up our own version control, through say GitHub.

Would Git bring any particular benefits to front-end development in this environment?

(I understand the basic principles of Git; the other developer doesn't have any experience with it, but would be happy to pick it up.)

+1  A: 

I would think it would work well. With appropriate branching and perhaps cherry-picking, it's also easy to use it to maintain local dev code with deployment patches.

Michael E
I really like the flexibility of being able to do check ins and merges frequently. I think it's well suited to this environment, since we often have to do prototyping and bug fixes in a changing environment, and it's great to have every step of the process checked in.
jonathanconway
+2  A: 

Given your comment about IT CVS inefficiencies and managerial support for ad-hoc DVCS, here's a great reason:

I don't even touch my own code without VCS, let alone try to work collaboratively and thanks to SCCS, RCS, P4 and Hg, have never had to.

Writing code without VCS is like writing with disappearing ink, perhaps worse, as you can tell when ink has disappeared.

msw
Very true. This isn't something to be lightly at all. It's VCS or nothing; asking developers to work without *some* form of versioning is like asking a swimmer to swim with handcuffs on!
jonathanconway
+7  A: 

git will be no less appropriate for a corporate environment than something like CVS or SVN. There is nothing in the design or implementation that makes it inappropriate for the corporate environment.

You'll probably end up using a hybrid approach: each developer will have a local git repository and will push back to an internal origin (a central spoke) to keep with the corporation's backup policies and to give the the boss that warm and fuzzy, 'my code is safe' on the repository.corpration.com machine. As you mentioned, github can act as your origin.

Have a look at http://en.wikipedia.org/wiki/Git_(software)#Projects_using_Git for a list of large organizations (open source and non-open source) using git.

Also take a look at http://www.youtube.com/watch?v=4XpnKHJAok8 and pay particular attention when Linus tells Google that their current revision control system sucks and that they'd be much better off with git.

labratmatt