

Collaborative web development - ilSignorCarlo

Hi,
with other two (or possibly more) guys I am going to build a web application. We live in three different cities and we would like to find a good way to work together.<p>We would like to use some version control system, but we are not sure that this would be a good idea for web development. I know about Git and I thought we could use Gitosis to make a repository on our server, but we think that this may slow down our work.<p>Often, when we have to adjust some code, or some graphics, we quickly modify something, save and refresh to see what happens. How can we accomplish this with Git/Gitosis?<p>How do you usually work in team and mantain code?
======
jarrodtaylor
I'd definitely use version control.

There's no reason you can't make quick updates with version control. You'll
each have a copy of the whole site (maybe with test databases) on your dev
machines, and should be able to make the update, test it on your dev machine,
then commit the changes to the repository.

~~~
ilSignorCarlo
What one of my friends says is that he usually makes some change directly on
the code on the server, click CTRL-S and I can just refresh the page to see
what he did.

With Git, for example, you modify the code on your machine, then save it, that
you have to commit and push. Or am I wrong?

~~~
jarrodtaylor
You're correct. But you should be able to test the code on your machine and
make sure it's correct before committing it.

Your development machine should be able to run the same code as your server.

Making changes to the public site is a very bad practice. What if your code
has errors in it?

Version control also keeps everyone up to date. Before making a change to the
site you'll download the most up to date version from the repository, that way
your local copy has everyones changes, with comments about what they've done.

~~~
ilSignorCarlo
Of course I'm not thinking about making changes to the public site. At the
moment there is no public site, so I'm just thinking about a good development
practice. I think that when the site will be public we may have a development
copy of it on the server itself. I think we need to try it in practice,
because we also have many doubts about resolving conflicts and merging.

------
iamdave
Typically, a dedicated box on your local network serving up an SVN system
works.

~~~
ilSignorCarlo
Do you suggest SVN over Git?

~~~
jarrodtaylor
Do you want centralized or decentralized version control, do you plan on doing
a lot of branching, and are offline commits important?

