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).
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.)
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.
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.
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.