17

"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?

Jason S
  • 184,598
  • 164
  • 608
  • 970
officemonkey
  • 313
  • 1
  • 2
  • 8
  • 1
    [The above mentioned "Getting Git" slides are also available as screencast. This might be easier to understand for newbies than just reading them.](http://www.youtube.com/watch?v=P3_ISMGXTBg) – Martin Lundberg Jan 13 '13 at 02:53

2 Answers2

31

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

The full context for the referenced slides can be found here Pro Git - 5.1 Distributed Git - Distributed Workflows.

MOverlund
  • 173
  • 4
Abie
  • 10,855
  • 6
  • 32
  • 39
0

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
  • 975
  • 1
  • 8
  • 7
  • 5
    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 Feb 16 '09 at 18:24