views:

796

answers:

2

"Traditional" version control systems follow a "Cathedral" model -- all the code is stored in one main repository.

Distributed Version Control Systems like git allow a lot more flexibility in organizing your multiple repositories. You can "push" changes, "pull" changes, and "clone" repositories.

Have you organized your repositories along your workgroup or workflow lines? Have you noticed any patterns?

A: 

I'm still pretty new to git, but the way i've been handling this is making a total mess on my own repository, and when I get to a state that looks pretty healthy (at least a few unit tests pass), I tag it and push to a publicly accessible repository.

TokenMacGuy
Consider making a total mess in a branch on your own repository. That way, you have slightly more control - you can merge at will, and you always have a good local master.
Paul Beckingham
+16  A: 

Scott Chacon, whose git-fu is very strong, has some great slides on this in Getting Git. Check pages 474-501 for many excellent diagrams explaining three types of workflow:

  • central repository model (svn style),
  • dictator and lieutenants model (linux kernel style),
  • integration manager model (github style).
Abie
The rest of the slide-show is also very worthwhile. Thanks!
officemonkey